详解Spring注解驱动开发之属性赋值

网友投稿 299 2023-01-12

详解Spring注解驱动开发之属性赋值

一、@Value注解

在Person的属性上使用@Value注解指定注入值

public class Person {

@Valhttp://ue("#{20-2}") //SpEL表达式 #{}

private Integer id;

@Value("张三") //基本数据类型

private String name;

}

配置类

@Configuration

public class MainConfigOfPropertyValues {

@Bean

public Person person(){

return new Person();

}

}

测试

@Test

public void testValues(){

ApplicationContext context = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);

String[] beanDefinitionNames = context.getBeanDefinitionNames();

for (String beanName : beanDefinitionNames){

System.out.println(beanName);

}

Person person = (Person) context.getBean("person");

System.out.println(person);

}

输出结果:

二、@PropertySource加载外部配置文件

配置类加上@PropertySource注解,引入外部配置文件

@PropertySource({"classpath:/person.properties"})

@Configuration

public class MainConfigOfPropertyValues {

@Bean

public Person person(){

return new Person();

}

}

使用${属性值}注入属性值

public class Person {

@Value("#{20-2}") //SpEL表达式 #{}

private Integer id;

@Value("张三") //基本数据类型

private String name;

@Value("${person.age}") //使用外部配置文件注入属性值

private Integer age;

}

输出结果:

因为配置文件中的值默认都加载到环境变量中,所有还可以通过环境变量来获取配置文件中的值

@Test

public void testValues(){

ApplicationContext context = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);

String[] beanDefinitionNames = context.getBeanDefinitionNames();

for (String beanName : beanDefinitionNames){

System.out.println(beanName);

}

Person person = (Person) context.getBean("person");

System.out.println(person);

Environment environment = context.getEnvironment();

String age = environment.getProperty("person.age");

System.out.println("age = " + age);

}

输出结果:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:星座运势免费api(星座运势免费测试)
下一篇:重报物流查询(重庆物流查询单号查询)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~