Spring (Boot) 2

@PostConstruct 의 사용 이유

@PostConstruct란? 종속성 주입이 완료된 후 실행되어야 하는 메서드에 사용된다. 이 어노테이션은 다른 리소스에서 호출되지 않아도 수행된다. @PostConstruct의 사용 이유 1) 생성자가 호출되었을 때, 빈은 초기화되지 않았음(의존성 주입이 이루어지지 않았음) 이럴 때 @PostConstruct를 사용하면 의존성 주입이 끝나고 실행됨이 보장되므로 빈의 초기화에 대해서 걱정할 필요가 없다. 2) bean 의 생애주기에서 오직 한 번만 수행된다는 것을 보장한다. (어플리케이션이 실행될 때 한번만 실행됨) 따라서 bean이 여러 번 초기화되는 걸 방지할 수 있다. @PostConstruct의 사용 예 @Component public class DbInit { @Autowired private ..

Spring (Boot) 2021.12.26

Filter 와 Interceptor의 차이점

필터와 인터셉터 둘 다 막연하게 늬앙스 자체가 뭔가... 들어오는 요청을 한 번 걸러주는 역할을 한다고 두루뭉실하게 생각했었다. 그래서 한번 정확하게 역할을 정의하고 분석할 필요가 있다고 생각되어 따로 포스팅을 하게 되었다. * 필요한 사전 지식 스프링은 디스패처 서블릿이 핸들러 매핑을 통해 해당 요청을 처리할 적절한 컨트롤러를 찾는다. Filter - web application에 등록이 된다. 필터는 스프링 프레임워크의 일부가 아닌 웹 서버(ex. 톰캣)의 일부이다. 따라서 DispatcherServlet 앞단에 위치하며 정보를 처리해준다. 필터를 사용해서 서블릿에 정보가 도달하지 못하도록 막을 수도 있고, 서블릿을 통과한 클라이언트에게 가는 응답을 차단할 수도 있다. filter에서 예외가 발생하면..

Spring (Boot) 2021.12.07