일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Autowired
- 폴라로이드 수리
- 어술취
- Java
- 올리는게늦어지네
- 말많은거보니취했네
- 자동차앞유리교체
- 스크류드라이브
- 폴라존
- JAVA 강좌
- 플로팅은어려워
- 골드자동차유리
- 조심한다고될일일까
- 잔을사야하나
- 홈텐딩에가니쉬는사치
- 칵테일
- 뭐든공부가필요해
- 바스푼
- SX-70 수리
- 아이리쉬카밤
- 셰이커
- 칵테일이름은독특해
- 푸어러
- 지거
- 술먹고멘붕
- 홈텐딩
- 카메라를꺼내자
- 얼음집게
- 사진잘찍고싶다
- 홈텐딩세트
- Today
- Total
초리의 블로그
xml을 이용한 bean 설정 및 활용 본문
※ 토비의 스프링을 보고 학습한 내용을 정리해 놓은 것입니다. 따라서 책 내용과 거의 동일합니다.
저작권이나 기타 문제가 될 경우 조치하겠습니다. ※
클래스를 xml로 설정하여 bean으로 등록하여 객체를 생성할 수 있습니다.
<beans>를 루트 엘리먼트로 사용하고, 그 안에 여러 bean를 등록하여 사용할 수 있습니다.
UserDao 클래스를 bean으로 등록하여 사용하는 것을 보면서 알아 볼게요.
public class UserDao {
private JdbcTemplate jdbcTemplate;
....
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}....
}
UserDao 클래스가 있고 그 안에 DataSource를 파라미터로 받는 setDataSource가 있습니다.
그 밑에 생략된 부분엔 User를 등록하는 add 메소드와 id를 받아 User를 검색하는 get 메소드가 있어요.
먼저 UserDao 클래스를 bean으로 등록하는 방법입니다.
<beans>
<bean id="userDao" class="springStudy.user.dao.UserDao" />
</beans>
<beans> : <bean>의 루트
<bean> : bean 설정 태그
id : 빈의 이름
class : 빈으로 등록할 클래스
UserDao에 setter인 setDataSource 메소드를 property 태그를 이용하여 설정하겠습니다.
<bean id="userDao" class="springStudy.user.dao.UserDao">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb://localhost:3306/spring_study" />
<property name="username" value="****" />
<property name="password" value="****" />
</bean>
<property> : property 설정 태그
name : class에서 사용할 setter 이름
ref : setter에 주입할 bean(객체)의 이름
ref 안에 들어갈 bean 또한 xml에 설정해 줘야 합니다.
setDataSource는 DataSource를 파라미터로 받기 때문에 DataSource를 구현한 SimpleDriverDataSource를 bean으로 등록하였습니다.
사용할 bean이 바뀔 경우 ref의 값도 바꿔줘야 해요.
완성된 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="userDao" class="springStudy.user.dao.UserDao">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb://localhost:3306/spring_study" />
<property name="username" value="****" />
<property name="password" value="****" />
</bean>
</beans>
xml의 구조를 정의하는 방법을 설정하기 위해 스프링에서 제공하는 스키마를 사용하였습니다.
그래서 beans 태그 안에 스키마 선언을 한 것입니다.
그럼 설정한 xml을 사용하여 UserDao 객체를 생성하는 것을 볼게요.
GenericXmlApplicatonContext로 만들어 놓은 xml을 이용하여 context 객체를 생성할 수 있습니다.
public class UserDaoXmlContextTest {
public static void main(String[] args) throws SQLException {
ApplicationContext context = new GenericXmlApplicationContext("/spring/applicationContext.xml");
UserDao dao = context.getBean("userDao", UserDao.class);
User user = new User();
user.setId("test00001");
user.setName("홍길동");
user.setPassword("1234567890");
dao.add(user);
User user2 = dao.get(user.getId());
System.out.println(user2.getName());
System.out.println(user2.getPassword());
System.out.println(user2.getId() + " 조회 성공");
}
}
결과는 물론 잘 나왔습니다.
홍길동
1234567890
test00001 조회 성공
끝~
'Spring' 카테고리의 다른 글
스프링 시작하기. (Hello World를 출력해 봅시다.) (0) | 2017.09.02 |
---|---|
util:properties를 이용한 프로퍼티 사용 (0) | 2016.04.06 |
AnnotationConfigApplicationContext (0) | 2016.01.23 |