Spring注解驱动开发实现属性赋值
2020-04-16 12:06
537 查看
前言
在实际开发当中,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=\u5C0F\u674E\u56DB
通过注解的方式
使用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注解驱动开发-属性赋值@Value&@PropertySource
- 一步一步实现Spring4 + Hibernate4 + Freemarker2 的注解驱动开发(二.应用配置)
- 一步一步实现Spring4 + Hibernate4 + Freemarker2 的注解驱动开发(四.页面及小结)
- Spring注解驱动第九讲--属性赋值
- 一步一步实现Spring4 + Hibernate4 + Freemarker2 的注解驱动开发(三.应用代码)
- Spring注解开发之属性赋值
- 一步一步实现Spring4 + Hibernate4 + Freemarker2 的注解驱动开发(一. 环境搭建)
- 通过Spring实现对自定义注解属性进行资源注入
- Spring开发 - 通过实现ApplicationContextAware在Servlet中调用注解的Service
- spring注解驱动开发----组件注册
- 模拟spring,自定义容器二(注解实现属性注入)
- spring注解驱动开发(AOP功能)
- Spring开发 - 通过实现ApplicationContextAware在Servlet中调用注解的Service
- Spring基于xml配置与注解驱动开发(一)
- Spring对AOP切面支持实现及示例demo(基于自定义注解实现、代理模式实现、注解驱动、注入式)
- spring注解驱动开发
- Spring注解驱动开发之AOP
- Spring注解 - 生命周期、属性赋值、自动装配
- Spring 之 编码实现 @Resource注解属性注入