일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 형변환
- 단축키
- 페이징
- full text indexing
- while
- Random
- 로또
- 가변인자
- 추상클래스
- 다형성
- 상속
- 상속예제
- 자바
- 자바 야구게임
- 전체
- 다운캐스팅
- 이클립스
- 전자정부
- 업캐스팅
- Login with OAuth Authentication
- Full text
- 전체텍스트
- angular2
- IBatis procedure
- 야구게임
- 스프링
- Validations
- 25가지 효율적인 sql작성법
- jquery
Archives
- Today
- Total
nalaolla
<util:properties/> 와 Spring EL 로 값 가져오기 본문
728x90
반응형
<util:properties/> 와 Spring EL 로 값 가져오기
XML 설정
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <? xml version = " 1.0" ="" encoding = "UTF-8" ?="">< beans xmlns = "http://www.springframework.org/schema/beans" xsi:schemaLocation=" .... < util:properties id = "prop" location = "classpath:config/properties/sample.properties" /> .... </ beans > |
여러개를 써야할 경우
<beans profile="local">
<util:properties id="envConfig" location="classpath:config/local.config.properties" />
<util:properties id="snsConfig" location="classpath:config/local.sns.properties" />
</beans>
profile의 경우 상황에 따라 dev, local등으로 쓸수 있다..
이 부분에 대한 설정은 web.xml에서 설정한다.
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>local</param-value>
</context-param>
sample.properties
1 2 3 4 | sample.prop1 = test # 우쭈쭈~ sample.prop2 = \uc6b0\ucb48\ucb48~ |
Spring EL 로 값 가져오기(SampleBean.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 | package com.tistory.stove99; import java.util.Properties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class SampleBean { // Spring EL 로 값 가져오기 // Spring EL 이기 때문에 자유롭게 메소드 호출도 가능함. String 의 concat 메소드 호출 @Value ( "#{prop['sample.prop1'].concat(' abc')}" ) private String value1; @Value ( "#{prop['sample.prop2']}" ) private String value2; // util:properties 로 생성된 빈은 java.util.Properties 의 인스턴스이기 때문에 // 요렇게 Autowired 해서 쓸 수 있다. @Autowired Properties prop; public String val(String key){ return prop.getProperty(key); } public String toString(){ return String.format( "value1 : %s, value2 : %s" , value1, value2); } } |
Spring EL에 대해서 더 알아보고 싶으면 요 사이트를 참고하면 친절하게 알려줌.
http://static.springsource.org/spring/docs/3.0.x/reference/expressions.html
Test(SampleTest.java)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import org.springframework.context.support.ClassPathXmlApplicationContext; import com.tistory.stove99.SampleBean; public class SampleTest { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "config/spring/*-context.xml" ); SampleBean sample = context.getBean(SampleBean. class ); // test System.out.println(sample.val( "sample.prop1" )); // value1 : test abc, value2 : 우쭈쭈~ System.out.println(sample); } }
|
728x90
반응형
'SPRING' 카테고리의 다른 글
java abstract factory pattern (추상 팩토리 패턴) (0) | 2016.11.28 |
---|---|
java factory pattern (팩토리 패턴) (0) | 2016.11.25 |
Properties 설정 및 Java, Jsp, Xml 소스에서 사용 방법 (0) | 2016.07.04 |
Java Facebook Login with OAuth Authentication (0) | 2016.06.28 |
스프링(Spring) 개발 - (18) 페이징 (jQuery와 Ajax) (2) | 2016.06.25 |