본문 바로가기

JAVA/Spring Framework

(14)
spring HandlerMapping - DispatherServlet설정 : @Controller 어노테이션을 감지하여 해당 클래스를 Controller로 등록할 수 있도록 해줌 로 시작하는 기본패키지(base-package)컨트롤러로 연결 따로 board-servlet.xml 을 작성하지 않아도 어노테이션으로 handler mapping처리가능 https://hunit.tistory.com/190 Spring〃Dispatcher Servlet / HandlerMapping 설정 MVC 패턴 흐름을 정리하면서 새로운 용어인 DispatcherServlet이라는게 새로 튀어나왔죠? 바로 저번글에서 한번에 정리할까 하다가 그냥 따로 하나의 주제로 정리하는게 낫다 싶어서 게시글을 분리했 hunit.tistory.com
spring viewResolver - DispatherServlet설정 ViewResolver 설정 뷰 영역 구현 컨트롤러는 최종적으로 결과를 출력할 뷰와 뷰에 전달할 객체를 담고 있는 ModelAndView 객체를 리턴한다. DispatherServlet은 ViewResolver를 사용하여 결과를 출력할 View 객체를 구하고, 구한 View 객체를 이용하여 내용을 생성한다. JSP를 뷰 기술로 사용할 경우 다음과 같이 InternalResourceViewResolver 구현체를 빈으로 등록해주면 된다. DispatherServlet.xml 설정
java spring mvc DispatcherServlet가 Client요청을 받음 (중앙 제어실과 같음) HandlerMapping이 알맞은 Controller를 찾음 HandlerMapping에 실행할 Controller의 메서드를 찾음 Controller의 메서드를 실행하며 그 결과 Model로서 DispatcherServlet에 반환 ViewResolver는 알맞은 JSP파일을 찾음 View는 JSP파일을 Model의 정보를 토대로 Client에게 반환 @Controller : 이 어노테이션을 붙이면 servlet-context.xml에서 이것을 인식하여 컨트롤러로 등록함. @RequestMapping : 스프링은 HandlerMppaing에 의해 컨트롤러가 결정된다. 이 컨트롤러에서 HandlerAdapter에 의해 실행..
Spring Bean Container Container 개발자를 대신하여, Bean 을 생성 / 관리 / 제거합니다. Container 가 Bean 을 관리해주기 때문에, 개발자는 모듈 간에 의존 및 결합으로 인해 발생하는 문제로부터 자유로워 졌습니다. 아래와 같이 독립적인 코드를 작성해서 Annotaion 만 남겨주면 Container 가 개발자가 원하는 상황에 코드를 실행합니다. 따라서 개발자는 메서드가 언제, 어디서 호출되어야 하는지 그리고 메서드를 호출하기 위해 필요한 매개 변수를 준비해서 전달하지 않습니다. Container 가 개발자 대신 알아서 호출합니다. Container 가 개발자를 대신하여 메서드가 호출될 때와 메서드가 필요한 자원을 전달하는 설계 구조를 Inversion of Control (IOC) IOC 는 메서드가 ..
생성자 주입을 @Autowired를 사용하는 필드 주입보다 권장하는 하는 이유 Field injection is not recommended … Always use constructor based dependency injection in your beans Spring에서 `@Autowired` 애노테이션을 사용하여 의존성을 주입할 때, 생성자 주입을 사용하지 않고 필드 주입(Field Injection)이나 세터 주입(Setter Injection)을 사용할 수 있습니다. 그러나 생성자 주입을 사용하지 않으면 몇 가지 문제가 발생할 수 있습니다: ### 필드 주입(Field Injection) 필드 주입은 필드에 직접 `@Autowired` 애노테이션을 붙여서 의존성을 주입하는 방식입니다. #### 예제 코드@Servicepublic class UserService { @..
SOLID SRP(Single Responsibility) : 단일책임원칙 OCP(Oepn Cloased): 개방폐쇄원칙 LSP(the Liskov Substitution Principle): 리스코프 치환원칙 ISP(Interface Segregation Principle) : 인터페이스 분리설계원칙 DIP(The Dependency Inversion Principle): 의존성 주입