Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- java
- 다이어그램
- spring
- Spring_에러정리
- json
- JavaScript
- SQL
- git
- Linux
- DML
- 이클립스
- github
- Git_명령어정리
- 자바
- SQL_용어정리
- jsp
- 자바스크립트
- 인덱스
- 아파치톰캣
- workbench
- MySQL
- vb.net
- Linux_명령어정리
- CSS
- Spring_오류정리
- Git_정리
- asp.net
- 인스턴스
- 배열
- HTML
Archives
- Today
- Total
데브마우스
[Spring] 컨트롤러 Bean 객체 자동 및 수동 생성 정리 본문
servlet-context.xml에서 <context:component-scan> 태그에 패키지 이름을 등록하면 해당되는 패키지들에 @Controller 컴포넌트가 작성되어 있다면 자동으로 Bean 객체를 생성합니다. 반대로 자동으로 Bean 객체를 생성한다면 수동 생성도 가능합니다.
Bean 객체 자동 생성 코드 형식
<!-- servlet-context.xml -->
<!-- 컴포넌트를 자동으로 인식합니다. -->
<context:component-scan base-package="com.springmvc.* />
컨트롤러의 Bean 객체를 등록하지 않고 수동으로 생성하는 방법도 있습니다.
방법은 아래와 같습니다.
<!-- servlet-context.xml -->
<!-- Bean 객체 수동 생성 -->
<!-- 객체 생성 코드 -->
<beans:bean class="com.practice.controller.WelcomeController"/>
<beans:bean id="memberRepositoryImpl" class="com.practice.controller.repository.MemberRepositoryImpl"/>
<!-- Injection(주입) -->
<beans:bean id="MemberServiceImpl" class="com.practice.controller.MemberServiceImpl"?
<beans:property name="memberRepositoryImpl" ref="memberRepositoryImpl"/>
</beans:bean>
<beans:bean class="com.practice.controller.MemberController"/>
<beans:property name="memberService" ref="memberServiceImpl" />
</beams:bean>
주의 하실점으론 자바 파일에서 컨트롤러와 의존 관계에 클래스의 프로퍼티에 선언된 @Autowired를 인식할 수 없습니다. 그렇기 때문에 프로퍼티의 Setter() 메서드를 모두 작성하셔야 하니다.
// MemberController.java
private MemberService memberService;
public void setMemberService(MemberService memberService) {
this.memberSerivce = meerService;
}
// MemberService.java
private MemberRepository memberRepository;
public void setMemberRepository(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
'Spring > Spring: 정리' 카테고리의 다른 글
[Spring] Model, ModelMap, ModelAndView 모델 정리 (0) | 2024.01.18 |
---|---|
[Spring] @RquestMapping 정리 (0) | 2024.01.17 |
[Spring] 스프링 MVC의 컨트롤러 정리 (0) | 2024.01.17 |
[Spring] 스프링 웹 애플리케이션의 계층적 구조 정리 (0) | 2024.01.17 |
[Spring] pom.xml에 메이븐 의존성 라이브러리 추가하는 방법 정리 (0) | 2024.01.16 |