2022-04-21(목)

Jeongyun Heo·2022년 4월 21일
0

AOP는 더 확장된 기술로서 객체와 객체 사이에 아무데나 꽂는다.

https://search.maven.org/

spring-webmvc 검색

https://search.maven.org/artifact/org.springframework/spring-webmvc/5.3.19/jar

https://docs.spring.io/spring-framework/docs/current/reference/html/

implementation 'org.springframework:spring-webmvc:5.3.19'

전에는 DispatcherServlet 어떻게 구현했냐
@WebServlet("board/list")
@WebServlet 애노테이션을 사용해서 등록을 했어야 했다

스프링이 만든 DispatcherServlet 클래스는 어떻게 붙이냐
붙일 수가 없음
url을 자기네가 결정할 수 없음
DispatcherServlet 클래스가 있어봐야 동작을 안 함
스프링 프레임워크가 만든 DispatcherServlet 클래스를 직접 등록해야 한다
1. web.xml 애플리케이션마다 설정 정보를 담아두는 파일
2. 직접 자바 코드 자바 명령어로 작성해서 직접 DispatcherServlet을 등록하는 방법
스프링 프레임워크가 만든 DispatcherServlet를 프로그램적으로 등록해보자

WebApplicationInitializer 만들기

https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-servlet

• 클라이언트 요청을 받는 역할
• 객체 생성 및 관리하는 역할

객체 관리는 얘가 하고
클라이언트 요청을 페이지 컨트롤러에게 던지는 일은 DispatcherServlet가 한다

ServletRegistration.Dynamic registration = sce.getServletContext().addServlet("app", 프론트컨트롤러);
"app" -> 서블릿의 별명임

/Users/nana/git/eomcs-java/eomcs-spring-webmvc/app/src-14/main/java/bitcamp/config/App1Config.java

@ComponentScan("com.eomcs.mylist")
mylist에 있는 거 다 뒤져서 객체 생성해

객체관리자.register(AppConfig.class);
AppConfig.class

register()에 그렇게 짜여있다

package com.eomcs.mylist.conf;

import org.springframework.context.annotation.ComponentScan;

// Spring 프레임워크의 설정 정보를 담은 클래스
//

// 1) 스프링 IoC 컨테이너에게 객체를 객체를 생성하기 위한 패지키를 알려준다.
// => 스프링 IoC 컨테이너는 패키지를 뒤져서 클래스를 @Component, @Controller, @RestController, @Service 등이
//    붙은 클래스를 찾아내어 객체를 생성하고 보관한다.
@ComponentScan("com.eomcs.mylist")
public class AppConfig {

}

애노테이션이 붙은 클래스를 찾아내어 객체를 생성하고 보관한다.
의존 객체를 먼저 생성한 다음에 꽂아준다

AnnotationConfigWebApplicationContext에 들어 있는 register() 얘가 그 일을 한다

@Controller가 붙은 리턴값은 jsp 주소

@RestController가 붙은 리턴값은 json 문자열로 바뀌어서 클라이언트에게 리턴된다

BoardController 만들어달라며

DefaultBoardService에 @Service 붙여주기

SqlSession 에러 남

/Users/nana/git/eomcs-java/eomcs-spring-webmvc/app/src-14/main/java/bitcamp/config/App1Config.java

jdbc.properties - project-app3/src/main/resources/com/eomcs/mylist/conf

https://search.maven.org/artifact/org.springframework/spring-jdbc/5.3.19/jar

https://search.maven.org/artifact/org.mybatis/mybatis-spring/2.0.7/jar

eomcs-java/eomcs-java-lang/app/src/main/java/com/eomcs/spring/ioc

0개의 댓글