[Spring] 스프링 기초: 의존성 주입 설정
딱지의겨울
·2021. 4. 6. 13:32
목표: 레스토랑 객체를 만들고 셰프 객체를 주입하자!
- Spring 에서 의존성 주입을 구현할 때: 생성자를 이용한 주입 + setter 메소드(Lombok으로 자동 구현)
[01] 예제 클래스 생성
- 일반적으로 주입할 객체는 클래스가 아닌 인터페이스로 설계하는 것이 좋음.
- Chef 클래스
- @Data: Lombok의 setter를 생성하는 기능, 생성자, @ToString, @EqualAndHashCode, @Getter/@Setter 등을 자동으로 생성하도록 하는 어노테이션
- Restaurant 클래스
- 코드가 의미하는 것: Restaurant 객체는 Chef 타입의 객체를 필요로 한다는 상황
- @Component: 스프랭에게 해당 클래스가 스프링이 관리해야 하는 대상임을 표시하는 어노테이션.
- @Setter: 자동으로 setChef()를 컴파일 할 시 생성함.
- @AutoWired: @Setter에서 사용된 onMethod 속성에 추가하도록.
- lombok으로 생성된 클래스에 대한 정보
[02] XML을 이용하는 의존성 주입 설정
- 스프링은 클래스에서 객체를 생성하고 객체들의 의존성에 대한 처리 작업까지 내부에서 모든 것이 처리됨.
- 스프링에서 관리되는 객체: 빈 / 빈에 대한 설정: XML, JAVA를 이용해서 처리
- STS의 'Spring Legacy Project' 는 기본적으로 XML을 사용해서 객체를 처리함.
- src > main > webapp> WEB-INF > spring > root-context.xml : 스프링 프레임워크에서 관리해야하는 객체를 설정하는 설정 파일.
- root-context.xml 클릭 > 아래 NameSpaces 탭 클릭 > context 항목 체크
- root-context.xml > Sources
- root-context.xml > Beans Graph
[02-2] JAVA 설정을 이용하는 의존성 주입 설정
- root-context.xml 대신 RootConfig 클래스 이용
- @ComponentScan 사용
출처: 코드로 배우는 스프링 웹 프로젝트
'Tools > Spring' 카테고리의 다른 글
[Spring] Intellij로 Spring MVC Web 프로젝트 생성 방법 (Tomcat 서버, Log4j, Model and View 객체 설정) (0) | 2021.06.04 |
---|---|
[Spring] 스프링이 동작하는 과정 (의존성 주입 테스트) (0) | 2021.04.06 |
[Spring] 스프링 프레임워크의 주요 특징 (0) | 2021.04.06 |