토비의 스프링부트 정리 (4) - 합성 애노테이션과 인프라 빈 구성 분리
1. 개요 내장 Tomcat과 DispatcherServlet 처럼 애플리케이션을 실행하기 위해 필요한 기술 객체까지 애플리케이션 클래스에 함께 두면, 비즈니스 코드와 기반 설정의 경계가 흐려진다. 이번 글에서는 여러 애노테이션을 하나로 묶는 합성 애노테이션(compo…
CATEGORY
6개의 글
1. 개요 내장 Tomcat과 DispatcherServlet 처럼 애플리케이션을 실행하기 위해 필요한 기술 객체까지 애플리케이션 클래스에 함께 두면, 비즈니스 코드와 기반 설정의 경계가 흐려진다. 이번 글에서는 여러 애노테이션을 하나로 묶는 합성 애노테이션(compo…
1. 개요 앞 글에서는 @Import 에 TomcatWebServerConfig 와 DispatcherServletConfig 를 직접 적어 인프라 빈을 분리했다. 구성 클래스가 몇 개뿐이라면 충분하지만, 라이브러리가 제공하는 기능이 많아지면 애노테이션 코드를 고칠 때…

1. 개요 앞 글에서 만든 @MyAutoConfiguration 에는 @Configuration(proxyBeanMethods = false) 가 들어 있다. false 하나가 무엇을 바꾸는지 알려면, @Bean 메서드가 일반 자바 메서드와 다르게 동작하는 이유부터 살…
1. 개요 앞 글에서는 스프링 컨테이너가 HelloController 와 HelloService 를 만들고 연결하도록 구성했다. 이번에는 그 연결 방식인 의존성 주입(DI, Dependency Injection) 을 테스트에 활용한다. DI를 적용하면 컨테이너를 띄우지…

1. 개요 앞 글에서는 내장 Tomcat과 서블릿을 직접 만들고 연결했다. 이 방식은 웹 요청이 처리되는 원리를 이해하기에 좋지만, 애플리케이션이 커질수록 객체를 만들고 연결하고 서버를 시작하는 코드가 main() 에 계속 쌓인다. 이 글에서는 이 작업을 스프링 컨테이…
1. 개요 /hello?name=etakyung 로 요청하면 Hello etakyung 를 돌려주는 작은 웹 애플리케이션을 만들어 보자. 이 예제는 내장 Tomcat과 서블릿을 직접 사용한다. HTTP 요청이 컨트롤러 메서드 호출로 바뀌고, 그 결과가 HTTP 응답으로…