: 스프링 프레임워크 동작 -> 필요한 객체 등록 -> 의존성 주입 수행
ex)
스프링 프레임워크 동작
-> 스프링이 사용하는 메모리 영역인 Context를 만듦
(스프링 컨테이너인 ApplicationContext 객체 생성 - 스프링은 필요한 객체들을 생성·주입 등을 관리하는 '컨테이너'나 '팩토리'기능이 있다.)
-> 객체들에 대한 설정파일인 root-context.xml이 <context:component-scan>태그에 등록된 패키지들을 스캔.
-> 해당 패키지들의 클래스 중 @Conponent 어노테이션이 존재하는 클래스의 인스턴스를 생성
(@Component 해당 클래스가 스프링에서 관리해야하는 대상임을 표시)
-> @Autowired에 따라 객체 주입시킴
1.1 설정파일
1) web.xml
: Tomcat 구동과 관련된 설정
(web.xml : root-context.xml·DispatcherServlet(servlet-context.xml)의 경로 설정, ContextLodaderListener 등록)
2) root-context.xml
: 스프링 프레임워크에서 관리해야하는 객체(Bean)을 설정하는 설정 파일이다.
View와 관련되지 않은 객체(비즈니스 로직)를 정의한다. ex) Services, Repositories
주로 클래스들을 이용해 스프링의 Bean으로 등록할 때 사용한다. 외부 jar 파일 등의 클래스를 <bean> 태그 이용해 작성한다.
3) servlet-context.xml
: 스프링 MVC에서 DispatcherServlet 클래스가 웹 관련 처리작업 시 사용한다.
View와 관련된 객체를 정의한다. ex) Controllers, ViewResolver, HandlerMapping
4) pom.xml (project object model)
: 프로젝트를 빌드·관리하는 Maven의 빌드정보를 담고있는 파일로, 의존을 포함한다.
수정 후에는 프로젝트 우클릭 -> Maven -> Update project를 실행해야한다.
2. 어노테이션
+ Lombok 관련 어노테이션
- @Log4j : 로그 객체 생성. 로그를 기록하는 Logger를 변수로 생성하며 별도의 로그를 설정할 필요가 없다.
- @Setter : 컴파일 시 set메소드 자동 생성
ex) @Setter(onMethod = @_({ @Autowired })) : 생성되는 set메소드에 @Autowired 어노테이션 추가
- @Data : @ToString, @EqualsAndHashCode, @Getter/@Setter, @RequiredArgsConstructor을 결합
+ Spring 관련 어노테이션 (@Controller, @Component, @service, @Repository)
- @Controller : 해당 Class가 spring mvc의 컨트롤러를 구현한 Class라는 것을 지정
- @Component : 해당 클래스가 스프링에서 객체로 만들어 관리해야하는 대상임을 표시
- @Autowired : 타입이 맞는 객체를 주입해달라는 표시
- @RequestMapping : 클라이언트의 요청을 처리할 메서드 설정. 해당 메서드에서 처리할 URI를 값으로 가짐
- @service : service 영역 접근 선언
- @Repository : DAO 클래스임을 선언...
'SPRING' 카테고리의 다른 글
SPRING 파일 업로드 다운로드 (0) | 2023.01.17 |
---|---|
SPRING 페이징 처리 (pagination) (0) | 2022.11.30 |
SPRING 기본설정 (XML, JAVA 공통부분) (0) | 2022.11.24 |
SPRING Database 연동과 Jdbc 지원 (0) | 2022.11.18 |
HTML 이외의 View 구현 (0) | 2022.11.17 |