스프링 관련63 config 패키지 구성 기본 뼈대 - config (configuration) -> 컨피그 클래스들 ( ModdelMapper, Authentication, Redis, Security ) -- filter (optional) config 패키지 하위 Config 설정 파일 클래스 특징 1. 설정 클래스 위에 @Configuration 어노테이션 필요 주요 사용 이유 : 스프링 컨테이너에 Bean 등록 위함 해당 클래스를 설정파일로 설정 위함 메서드의 이름이 Bean의 이름으로 결정된다. @Configration의 역할, Bean을 등록할 때 싱글톤이 되도록 보장해주는 역할 수행 @Bean의 역할, 스프링 컨테이너에 Bean을 등록하는 역할, @Configuration 없이 단독으로 쓰이면 해당 Bean이 싱글톤으.. 2023. 1. 14. 스프링 프로젝트 패키지 구조 정리 및 항목별 index url 정리 3개 클론코딩한 프로젝트 참조하여 공통적으로 선택 & 좋은 것 같은 템플릿 처럼 사용하려고 하는 패키지 구조 정리하려고 함 https://charactermail.tistory.com/534 - config (configuration) -> 컨피그 클래스들 ( ModdelMapper, Authentication, Redis, Security ) -- filter (optional) https://charactermail.tistory.com/535 - service -- --> interface, 구현체 쌍으로 구성 https://charactermail.tistory.com/537 - repository -- https://charactermail.tistory.com/538 - controller -.. 2023. 1. 13. 다이나믹 프록시 (mockito) 런타임에 특정 인터페이스 또는 클래스의 프록시 인스턴스 또는 클래스를 만들어 사용하는 프로그래밍 기법 주요 사용처 - 스프링 데이터 JPA - 스프링 AOP - Mockito - hibernate lazy initalzation - .사용하지 않는 entity는 임시 프록시 객체 만들어놓고, 나중에 실제로 필요할 때 해당 엔티티 가져오는 것 Mockito 특정 클래스를 테스트 할 때, 해당 클래스를 구성하는 멤버 인스턴스 변수를 초기화해주기 어려울 경우, 대체를 위한 다이나믹 프록시 기술을 활용하여 프록시 객체를 생성하는 기능을 지원함. 하지만 아래 예시에서 when(bookRepositoryMock.save(any())).thenReturn(aBook); 항상 "A" Book을 return 하는 .Mo.. 2022. 12. 20. @RestControllerAdvice, @ExceptionHandler(RuntimeException.class) 이용한 예외처리 분리 @RestControllerAdvice : 스프링 빈에 등록된 @Controller, @RestController 클래스 전체 대상으로 @ExceptionHandler를 적용할 수 있는 설정 @ExceptionHandler : @Controller, @RestController 클래스 안에서 예외가 발생한 것을 적용된 Bean 내에서 처리할 수 있게 하는 기능을 제공한다. @Slf4j @RestControllerAdvice public class GlobalControllerAdvice { @ExceptionHandler(SnsApplicationException.class) public ResponseEntity applicationHandler(SnsApplicationException e){ log.. 2022. 11. 20. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음