스프링부트
-
[Intellij] 다른 모듈의 클래스 사용하기개발/etc 2024. 2. 20. 15:57
메인 프로젝트 하위에 모듈들을 추가했고 공통 모듈 하나를 다른 하위 모듈들이 참조하는 형태다. 아래 이미지를 보면 authserver 모듈을 제외한 OAuth2Client, ResourceSercerFriend, ResourceServerPhoto가 SharedObject에 있는 클래스를 참조한다. 1. 최상위의 메인 프로젝트의 settings.gradle에 공유 모듈의 이름을 include 한다. 가장 윗줄에는 해당 프로젝트의 이름이 쓰여 있을 거다. Load Gradle Changes를 클릭해서 변경 사항을 빌드하도록 하자. 아이콘이 뜨지 않는다면 우측에 Gradle의 탭을 찾아가서 Reload를 해주자. rootProject.name = 'authorizationserver' include 'Sha..
-
Validation에서 에러 문구 설정개발/Spring 2023. 6. 20. 13:15
필요한 값을 넣지 않으면 DB에 데이터가 저장되지 않아야 하고 화면에서는 가이드를 줄 수 있으면 좋다. 가장 간단하고 쉬운 검증 방법은 DTO에 애노테이션을 붙이는 것이다. @Data public class ItemSaveForm { @NotBlank private String itemName; @NotNull @Range(min = 1000, max = 1000000) private Integer price; @NotNull @Max(value = 9999) private Integer quantity; public ItemSaveForm(String itemName, @NotNull Integer price, @NotNull Integer quantity) { this.itemName = itemNa..
-
[AOP] before의 우선순위개발/Spring 2023. 4. 30. 12:59
옛날에 타일 라이브러리를 이용해서 경로를 각 url에 리소스 위치를 맵핑해줄 때 상세 경로를 먼저 작성해줘야 url에 따른 파일 위치가 의도대로 맵핑이 됐었다. 스프링뿐만 아니라 경로 설정 관련해서는 넓은 범위일수록 후미에 배치해야 하는 경우가 많다. 맥에서 호스트 변조할 때도 마찬가지였다. 스프링 aop도 같은 맥락으로 동작하는 것 같다. 다음과 같은 코드가 있다. 요청이 있을 때 호출되는 메서드의 이름, 인수 타입과 값을 출력해준다. @Before("cut()") public void before(JoinPoint joinPoint) { System.out.println("ParameterAop Before"); MethodSignature methodSignature = (MethodSignatur..