[외부 파일을 이용한 설정]
: 프로퍼티 파일 직접 이용하기
admin.properties
1 2 3 | admin.id=admin admin.pw=12345 | cs |
admin_sub.properties
1 2 3 | sub_admin.id=sub_admin sub_admin.pw=67890 | cs |
ctx_AdminSub.xml
1 2 3 4 5 6 7 8 9 10 11 | <context:property-placeholder location="classpath:admin.properties, classpath:admin_sub.properties"/> <bean id="adminConnection" class="com.yul.ex02_subProperties.AdminConnection"> <property name="adminId" value="${admin.id}"/> <property name="adminpw" value="${admin.pw}"/> <property name="sub_adminId" value="${sub_admin.id}"/> <property name="sub_adminPw" value="${sub_admin.pw}"/> </bean> </beans> | cs |
*
namespace를 context로 설정해준다.
AdminConnection.java의 필드값에 맞게 지정해주는데
${admin.id} 이렇게 표현언어를 써줘야 admin이라는 객체의 id 값을 가져온다.
AdminConnection.java
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | public class AdminConnection implements InitializingBean, DisposableBean { private String adminId; private String adminpw; private String sub_adminId; private String sub_adminPw; public String getAdminId() { return adminId; } public void setAdminId(String adminId) { this.adminId = adminId; } public String getAdminpw() { return adminpw; } public void setAdminpw(String adminpw) { this.adminpw = adminpw; } public String getSub_adminId() { return sub_adminId; } public void setSub_adminId(String sub_adminId) { this.sub_adminId = sub_adminId; } public String getSub_adminPw() { return sub_adminPw; } public void setSub_adminPw(String sub_adminPw) { this.sub_adminPw = sub_adminPw; } @Override public void destroy() throws Exception { System.out.println("destroy() 실행"); } @Override public void afterPropertiesSet() throws Exception { System.out.println("afterPropertiesSet() 실행"); } } | cs |
MainClass.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class MainClass { public static void main(String[] args) { AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:ctx_AdminSub.xml"); AdminConnection connection = ctx.getBean("adminConnection", AdminConnection.class); System.out.println("Admin Id : " + connection.getAdminId()); System.out.println("Admin PW : " + connection.getAdminpw()); System.out.println("SubAdmin Id : " + connection.getSub_adminId()); System.out.println("SubAdmin PW : " + connection.getSub_adminPw()); ctx.close(); } } | cs |
*
결과
afterPropertiesSet() 실행
Admin Id : admin
Admin PW : 12345
SubAdmin Id : sub_admin
SubAdmin PW : 67890
destroy() 실행
'프로그래밍 > Spring' 카테고리의 다른 글
Spring / 외부 파일을 이용한 설정 - Environment 객체 (0) | 2018.04.08 |
---|---|
Spring / 스프링 빈의 범위(Bean Scope) (0) | 2018.04.07 |
Spring / 스프링 빈의 생명 주기(life cycle) (0) | 2018.04.07 |
Spring / 스프링 컨테이너의 생명주기(lifecycle) (0) | 2018.04.07 |
Spring / xml과 Java를 같이 사용하는 방법 (0) | 2018.04.07 |