Spring Framework/SPRING MVC31 SPRING MVC 구조 #2 (Dispatcher Servlet, handler Adapter) Dispatcher Servlet #2- handler Adapter Handler AdapterDispatcher Servlet의 메서드 중 하나인 doDispatcher()의 역할로 컨트롤러의 맞는 어뎁터를 찾고 로직을 실행하게 된다어뎁터는 말그대로, 변압기와 같이 적절하게 맞는 규격을 맞춰주는 역할을 수행하게 된다 Handler Adapter 과정먼저, doDispatch()에서 찾은 Controller(==handler) 정보를 가지고, 해당 어뎁터를 찾게 된다. protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest pro.. 2024. 9. 1. SPRING MVC 구조 #1 (Dispatcher Servlet, handler mapping) Dispatcher Servlet #1- handler mapping Dispatcher Servlet 이란?HTTP 요청으로 Client가 보낸 요청메시지를 가장 먼저 받는 역할을 맡는다.해당 요청에 대한 정보에 대한 컨트롤러의 메서드 실행을 위한 준비를 한다Request에 대한 처리와 해당 컨트롤러와의 연계, 응답을 위한 View에 전달하는 역할을 한다 Dispatcher Servlet 구조 및 Handler Mapping 과정상속관계1. java.lang.Object2. jakarta.servlet.GenericServlet3. jakarta.servlet.http.HttpServlet4. org.springframework.web.servlet.HttpServletBean5. org.spring.. 2024. 9. 1. Bean ( @Scope , Provider ) 빈 스코프란?Bean이 존재할 수 있는 범위종류싱글톤 스코프프로토타입 스코프웹 관련 스코프 스코프 지정 방법//Component 등록@Scope("[스코프 지정]")@Componentpublic class Test(){}// 수동 등록@Scope("[스코프 지정]")@Beanpublic class Test(){ return new Test();}scopesingletonprototyperequestsessionapplication 스코프 특징싱글톤 빈객체 생성 -> 의존관계 주입 -> 초기화 -> 사용 -> 소멸전 콜백 -> 소멸프로토타입 빈객체 생성 -> 의존관계 주입 -> 초기화프로토타입의 경우 1) 초기화 진행 후 클라이언트 코드에게 관리 위임프로토타입의 경우 2) 프로토타입 빈 요청이 올때마.. 2024. 8. 22. 빈 생성시 값 초기화 방법 ( init() ) Spring bean LifeCycle 스프링 빈의 라이프 사이클스프링 컨테이너 생성스프링 빈 생성의존관계 주입초기화 콜백사용소멸전 콜백스프링 종료스프링 빈의 생명주기에서 객체 생성과 초기화가 각기 다른 단계에서 이루어지므로 분리해서 생각해야한다. 스프링 빈의 초기화 방법 (콜백 지원 방법)인터페이스InitializingBean, DisposableBeanpublic class TestBean implements InitalizingBean, DisposableBean{ public TestBean(){} public void init(){ // init 작업 } public void close(){ // close } .. 2024. 8. 22. 의존관계 자동 주입 방법 Dependency Injection Injection 방법생성자 주입생성자 호출시점에 딱 1번 호출되는 것이 보장됨불변, 필수 의존관계 가능@Componentpublic class BeanTestImpl{ private final BeanTest beanTest; // 생성자가 딱 1개일경우 @Autowired 를 생략해도 된다. public BeanTestImpl( BeanTest beanTest ) { this.beanTest = beanTest; }}수정자 주입 (setter)선택, 변경이 가능하다@Componentpublic class BeanTestImpl{ private final BeanTest beanTest; @Autowi.. 2024. 8. 21. @Component에 관하여... @Component 컴포넌트 스캔@Component 를 지정해주면, 따로 Config에 작성해서 @Bean 으로 등록해주지 않아도, 자동으로 spring이 bean으로 등록해준다.@Componentpublic class BeanTest implements BeanInterface{}@Componentpublic class BeanTestImpl{ private final BeanInterface beanInterface; // 자동으로 @COMPONENT가 붙은 정보가 주입됨 // BeanTest 클래스가 beanInterface에 주입됨 @Autowired public BeanTestImpl(BeanInterface beanInterface){ re.. 2024. 8. 21. 이전 1 2 3 4 5 6 다음