Spring9 스프링 부트 AutoConfiguration 원리 스프링 부트 AutoConfiguration 원리 @SpringBootApplication 어노테이션의 내부적으로 코드를 살펴보면 참 많은 것이 있습니다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilt.. 2022. 1. 15. SpringBoot의 의존성 버전 관리와 원리 1.spring-boot-starter SpringBoot의 의존성 관리의 핵심은 spring-boot-starter 입니다. SpringBoot는 spring-boot-starter를 통해 프로젝트 구성에 필요한 의존성들을 자동으로 가져옵니다. spring-boot-starter 덕분에 관리 효율성이 높아지고 프로젝트의 전체 구성 시간이 감소하였습니다. 2. spring-boot-starter 내부 스프링부트가 자동으로 설정해준 목록을 살펴보겠습니다. test부터 web, log ...등 정말 많은 설정을 자동으로 해줍니다. 이때 spring-boot-starter 하위의 의존성들에 버전이 명시되어 있음을 볼 수 있습니다. 자동으로 버전을 설정해주는 원리는 아래에서 다루도록 하겠습니다. 특히 web을 .. 2022. 1. 4. logging @SLF4J 이전에 블로그에 2021.08.21 - [Java] - 운영서비스에서 System.out.println 을 절대 쓰지 않는 이유라는 포스팅을 한 적이 있습니다. 프로젝트에 Exception 로그를 남기위해 System.out.println 대신 @SLF4J를 사용해봤습니다. SLF4J(Simple Logging Facade for Java) 다양한 로깅 프레임워크(예: java.util.logging, logback, log4j)에 대한 추상화 역할을 하여 개발자가 원하는 로깅 프레임워크를 연결할 수 있도록 합니다. 다시말해, logback이나 log4j2와 같은 로킹 프레임워크의 인터페이스의 역할을 합니다. SLF4J 공식페이지에서 제공하는 그림을 보면 SLF4J 인터페이스가 다양한 로깅 프레임워크(j.. 2022. 1. 4. HttpSession을 단위 테스트하기 위한 방법 로그인 기능을 구현하기위해 단위테스트를 하려다보니 HttpSession 객체를 활용한 테스트가 필요했습니다. 방법을 모색해보니 바로 !! Mock Mock이란 실제 객체를 만들어 사용하기에 시간, 비용 등의 Cost가 높거나 혹은 객체 서로간의 의존성이 강해 구현하기 힘들 경우 가짜 객체를 만들어 사용하는 방법입니다. 출처: https://www.crocus.co.kr/1555 [Crocus] MockHttpSession 을 사용했습니다. MockHttpSession 을 사용한 테스트 코드 package com.flab.doorrush.domain.user; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Ma.. 2021. 11. 20. 이전 1 2 3 다음