반응형
1. bean 생성과 의존관계 설정
<bean name="writeArticleService" class="실제경로">
<constructor-arg>
<ref bean="articleDao"/>
</constructor-arg>
</bean>
<bean name="articleDao" class="실제경로"/>
스프링은 각 객체를 bean으로 관리한다. <bean> 태그는 스프링이 관리할 하나의 객체를 설정하는데 사용된다.
<bean> 태그의 name속성이 bean의 이름을 의미하고, class속성이 생성될 객체의 클래스 타입이다.
<constructor-arg>태그는 "writeArticleService" bean 객체를 생성할 때, 생성자에 전달할 파라미터를 명시하기 위해 사용된다. 위 코드의 경우 생성자에 "articleDao" bean 객체를 전달한다고 명시하였다. 이는 코드로는 아래와 같은 의미를 갖는다.
MysqlArticleDao articleDao = new MysqlArticleDao();
WriteArticleServiceImpl writeArticleService = new WriteArticleServiceImpl(articleDao);
<bean> 태그에 생성자와 관련된 정보(<constructor-arg>태그)를 명시하지 않았다면, 스프링은 파라미터가 없는 기본 생성자를 이용하여 객체를 생성한다.
경우에 따라서 생성자가 아닌 static method를 이용하여 객체를 생성해야 하는 경우도 있다. static method를 이용하여 객체를 구해야 하는 클래스의 경우, <bean> 태그에 factory-metohd 속성 값으로 static method를 지정함으로써 해당 method를 이용하여 bean을 생성하도록 설정할 수 있다.
출처 - 스프링2.5 프로그래밍 [가메출판사]
728x90
반응형
'웹 개발' 카테고리의 다른 글
Spring의 특장점 (0) | 2019.08.11 |
---|---|
Spring Framework 핵심개념 [1. Injection of Control] (0) | 2019.08.11 |
jqgrid get selected row 선택된 줄의 정보 가져오기 (0) | 2019.08.07 |
현재 URL 주소 가져오기 ( Get the current URL with JavaScript ) (0) | 2019.08.07 |
[jquery ajax] [IE8] No transport error (0) | 2019.08.07 |