@Value 주 :이 EL 발현 데이터 구성 파일로부터 판독 된 기본 분사 문자열 사용
@PropertySource을 하나의 구성 파일을 도입
@ PropertySources를 복수의 프로파일 도입
@PropertySource를 또는 @ PropertySources의 데이터 환경에 변수가 존재 ConfigurableEnvironment 에서
새로운 cat.properties resouces 파일 폴더는 다음과 같이 기록 부모 = 타이거
공용 클래스 고양이 { @Value는 ( "고양이") // 문자열에 직접 주입 개인 문자열 이름; @Value는 ( "# 12은 {2} +") // 지원 EL 표현 개인 INT의 나이; @Value ( "부모 $ {}") // 구성 파일 읽기 전용 문자열 부모, 공공 고양이 () { 에서 System.out.println ( "고양이가 초기화됩니다" ); } @보수 공공 문자열 toString () { 반환 "고양이 {"+ "이름 = '"+ 이름 +'\ ''+ "나이 ="+ 나이 + "부모 = '"+ 부모 +'\ ''+ '}' ; } }
@Import ({고양이. 클래스 }) @PropertySources ({@ PropertySource (값 = "cat.properties" )}) 공용 클래스 appconfig가 { }
공용 클래스 데모 { 공공 정적 무효 메인 (문자열 []에 args) { AnnotationConfigApplicationContext 컨텍스트 = 새로운 AnnotationConfigApplicationContext (. appconfig가 클래스 ); 고양이 콩 = context.getBean (고양이. 클래스 ); 에서 System.out.println (콩); // 고양이 {이름 = '猫', 나이 = 14 부모 = '호랑이'} ConfigurableEnvironment 환경 = context.getEnvironment (); 에서 System.out.println (environment.getProperty ( "부모")); // 호랑이 } }