Spring注解驱动开发--属性赋值
Posted Tom
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring注解驱动开发--属性赋值相关的知识,希望对你有一定的参考价值。
前言
在实际开发当中,Spring中bean的属性直接赋值用的不是太多,整理这方面的资料,做一个小结,以备后续更深入的学习。
通过配置文件的方式
以配置文件的方式启动spring容器时,可以使用property标签的value给bean的属性赋值,赋值的形式有以下几种:
<--通过context:property-placeholder将properties文件中的值加载的环境变量中(properties中的属性值最终是以环境变量的形式存储的)>
<context:property-placeholder location="classpath:person.properties"/>
<bean id="person" class="com.atneusoft.bean.Person" >
<--①通过基本数值直接赋值--> <property name="name" value="zhangsan"></property>
<--②通过${}取出配置文件中的值-->
<property name="age" value="${person.age}"></property>
<--③通过Spring的El表达式-->
<--<property name="age" value="10*2"></property>-->
</bean>
classpath下的properties文件内容
person.age=u5C0Fu674Eu56DB
通过注解的方式
使用properties的value对应的注解给属性赋值
//使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量中;加载完外部的配置文件以后使用${}取出配置文件的值 @PropertySource(value={"classpath:/person.properties"}) @Configuration public class MainConfigOfPropertyValues { @Bean public Person person(){ return new Person(); } }
public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private String name; @Value("#{20-2}") private Integer age; /* @Value("${person.age}")
private Integer age;*/ }
注:
外部配置文件中的k/v保存到运行的环境变量中,可以直接在环境变量中取出对应的值
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class); ConfigurableEnvironment environment = applicationContext.getEnvironment(); String property = environment.getProperty("person.age");
以上是关于Spring注解驱动开发--属性赋值的主要内容,如果未能解决你的问题,请参考以下文章
Spring注解驱动开发——自动装配 @Autowired @Qualifier @Primary
Spring注解驱动开发使用InitializingBean和DisposableBean来管理bean的生命周期,你真的了解吗?