전 글은 여기 있습니다. 저번에는 Aware 인터페이스에 대해서 알아보았는데요 오늘은 ServletConfig와 Servlet 이 실행되는 환경인 ServletContext 부분을 알아볼 예정입니다 ServletConfig 인터페이스 이 인터페이스는 초기화 단계에서 서블릿에 대한 정보를 반환해 주는 인터페이스입니다. public interface ServletConfig { public String getServletName(); public ServletContext getServletContext(); public String getInitParameter(String name); public Enumeration getInitParameterNames(); } servlet의 이름, servletC..
왜 이 글을 쓰게 되었나요? 생각보다 Spring 이 너무 복잡해서, 한 번쯤 제대로 알아봐야겠다는 생각을 하고 기초부터 알아봐야겠다는 생각을 가지고 진행하게 되었습니다 DispatcherServlet을 밑바닥부터 하나하나 뜯어가면서 배워볼 예정입니다 DispatcherServlet의 계층 구조 DispatcherServlet 은 아래와 같은 상속 관계를 가지고 있습니다 여기서 가장 쉬운 것부터 시작해보도록 하겠습니다. Aware 인터페이스 /** * A marker superinterface indicating that a bean is eligible to be notified by the * Spring container of a particular framework object through a ..
chat gpt 를 질문해본 결과 시간 측정 모든 bean 시작을 lazy 하게 했을 때 spring: main: lazy-initialization: true 이정도의 차이가 났습니다. 이런 부분을 생각했을 때, 모든 것들을 등록하는 것은 생각보다 유의미한 성능 차이가 날 수 있다고 생각이 듭니다 bean 을 등록한다는 것은 spring 의 lifecycle 을 따라간다는 것이고, 생성시 생성자에 있어야 할 객체들이 생성되어야 합니다. 미리 생성하지 않는다면, 메서드 파라미터로 다 넘겨야 되는데, 코드 구조상으로도 악영향을 끼칠 수 있어보입니다