일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mariadb
- 저지
- 알고리즘
- Framework
- OrientDB
- r script
- Tornado
- 파이썬
- API
- AWS
- 배열
- 오픈한글
- ubuntu
- Java
- Python
- online
- MongoDB
- Judge
- 프레임워크
- spring
- r
- 연결
- 이클립스
- 자바스크립트
- 연동
- 자료형
- 토네이도
- 백준
- 설치
- BAEKJOON
- Today
- Total
맛동산
Simple Spring Maven에서 스프링 컨테이너 사용-2 본문
applicationContext.xml에서
<?xml version="1.0" encoding="UTF-8"?> <!-- 여그가 빈 팩토리 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- spring.di.ch01 --> <bean id="message" class="spring.di.ch01.MessageKr"/> <!-- spring.di.ch02 --> <!-- <bean id="serviceImpl" class="spring.di.ch02.ServiceImpl"/> --> <!-- 생성자가 있는데 주소를 주입하는 부분이 없어서 에러 --> <bean id="serviceImpl" class="spring.di.ch02.ServiceImpl"> <!-- 생성자 이용 DI --> <constructor-arg><!-- <constructor-arg ref="daoImpl"/> 도 가능 --> <ref bean="daoImpl"/> </constructor-arg> </bean> <bean id="daoImpl" class="spring.di.ch02.DaoImpl"/> <!-- spring.di.ch03 --> <bean id="serviceImpl2" class="spring.di.ch03.ServiceImpl"> <!-- 설정메서드 이용 DI : name="매개변수" ref="참조빈id" --> <property name="daoImpl" ref="daoImpl2"/> <!-- name = 매개변수의 이름 --> </bean> <bean id="daoImpl2" class="spring.di.ch03.DaoImpl"/> <!-- spring.di.ch04 --> <!-- <bean id="moniter" class="spring.di.ch04.SystemMoniter"> 설정메서드 이용 DI : name="매개변수" ref="참조빈id" 변수 주입 <property name="time" value="10"/> 외부객체 주입 <property name="smsSender" ref="smssender"/> </bean> --> <!-- 형식p:변수="값" p:변수-ref="참조빈id" --> <bean id="moniter" class="spring.di.ch04.SystemMoniter" p:time="10" p:smsSender-ref="smssender"/> <bean id="smssender" class="spring.di.ch04.SmsSender"/> <!-- spring.di.ch05 --> <bean id="moniter2" class="spring.di.ch05.SystemMoniter"> <constructor-arg value="30"/><!-- 첫번째 파라미터 --> <constructor-arg ref="smssender2"/><!-- 두번째 파라미터 --> </bean> <bean id="smssender2" class="spring.di.ch05.SmsSender"/> <!-- spring.di.ch06 --> <bean id="list" class="spring.di.ch06.ListCollection"> <property name="userName"> <!-- list 원소 추가 --> <list> <value>홍길동</value> <value>길순신</value> <value>신감찬</value> <value>유관순</value> </list> </property> </bean> <!-- spring.di.ch07 --> <bean id="map" class="spring.di.ch07.MapCollection"> <property name="map"> <map key-type="java.lang.String" value-type="java.lang.Object"> <entry key="홍길동" value="80"/> <entry key="이순신" value="90"/> <entry key="유관순" value="85"/> </map> </property> </bean> </beans>
1. 더미 생성자아닐 경우 bean을 생성할 때 주입 시켜줘야함.
<bean id="serviceImpl" class="spring.di.ch02.ServiceImpl">
<!-- 생성자 이용 DI -->
<constructor-arg><!-- <constructor-arg ref="daoImpl"/> 도 가능 -->
<ref bean="daoImpl"/>
</constructor-arg>
</bean>
2. Setter()을 작성해두면 property 속성을 이용하여 세팅해줄 수 있음.
<bean id="serviceImpl2" class="spring.di.ch03.ServiceImpl">
<!-- 설정메서드 이용 DI : name="매개변수" ref="참조빈id" -->
<property name="daoImpl" ref="daoImpl2"/> <!-- name = 매개변수의 이름 -->
</bean>
3. p태그(?) 를 사용하여 세팅해줄 수 있음(이때도 setter메서드는 있어야하는듯)
<bean id="moniter" class="spring.di.ch04.SystemMoniter" p:time="10" p:smsSender-ref="smssender"/>
4. 생성자에 파라미터가 여러개 일 경우
<bean id="moniter2" class="spring.di.ch05.SystemMoniter">
<constructor-arg value="30"/><!-- 첫번째 파라미터 -->
<constructor-arg ref="smssender2"/><!-- 두번째 파라미터 -->
</bean>
5. List 객체에 값을 넣을 경우 - List<string> userName일 때 setUserName(List<String> userName){...}
<bean id="list" class="spring.di.ch06.ListCollection">
<property name="userName">
<!-- list 원소 추가 -->
<list>
<value>홍길동</value>
<value>길순신</value>
<value>신감찬</value>
<value>유관순</value>
</list>
</property>
</bean>
(만약 List<Class>라면 ref로 주입하면 되는걸까?)
6. Map 객체 넣을 경우 - Map<String, Object> map일 때 setMap(Map<String, Object> map){...}
<bean id="map" class="spring.di.ch07.MapCollection">
<property name="map">
<map key-type="java.lang.String"
value-type="java.lang.Object">
<entry key="홍길동" value="80"/>
<entry key="이순신" value="90"/>
<entry key="유관순" value="85"/>
</map>
</property>
</bean>
'Web > Spring' 카테고리의 다른 글
Controller에서 Controller로 이동할때 (0) | 2017.05.11 |
---|---|
Controller에서 RequestMapping등 케이스(chap05) (0) | 2017.05.11 |
스프링 핵심만 정리(ing) (0) | 2017.05.11 |
Simple Spring Maven에서 스프링 컨테이너 사용-1 (0) | 2017.03.12 |
이클립스에 Spring IDE 설치 (0) | 2017.03.12 |