Spring属性付与@Value付与と@PropertySource外部プロファイルのロード
15685 ワード
1.エンティティークラス
2.構成クラスの作成
3.テストクラスを作成する
package com.hjj.bean;
import org.springframework.beans.factory.annotation.Value;
public class Person {
// @Value ;
//1、
//2、 SpEL; #{}
//3、 ${}; 【properties】 ( )
@Value(" ")
private String name;
@Value("#{20-2}")
private Integer age;
@Value("${person.nickName}")
private String nickName;
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Person(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", nickName=" + nickName + "]";
}
}
2.構成クラスの作成
package com.hjj.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import com.hjj.bean.Person;
// @PropertySource k/v ; ${}
@PropertySource(value={"classpath:/person.properties"})
// sring
@Configuration
public class MainConfigOfPropertyValues {
// person
@Bean
public Person person(){
return new Person();
}
}
3.テストクラスを作成する
package com.hjj.test;
import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import com.hjj.bean.Person;
import com.hjj.config.MainConfigOfLifeCycle;
import com.hjj.config.MainConfigOfPropertyValues;
public class IOCTest_PropertyValue {
// 2 MainConfigOfPropertyValues
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
@Test
public void test01(){
// bean
printBeans(applicationContext);
System.out.println("=============");
Person person = (Person) applicationContext.getBean("person");
System.out.println(person);
// , ( )
ConfigurableEnvironment environment = applicationContext.getEnvironment();
String property = environment.getProperty("person.nickName");
System.out.println(property);
applicationContext.close();
}
private void printBeans(AnnotationConfigApplicationContext applicationContext){
String[] definitionNames = applicationContext.getBeanDefinitionNames();
for (String name : definitionNames) {
System.out.println(name);
}
}
}