详解Spring注解驱动开发之属性赋值
更新时间:2021年05月26日 16:38:18 作者:煎丶包
今天带大家学习Spring注解驱动开发的相关知识,文中有非常详细的代码示例,对正在学习Java的小伙伴们很有帮助,需要的朋友可以参考下
一、@Value注解
在Person
的属性上使用@Value
注解指定注入值
public class Person { @Value("#{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); }
输出结果:
到此这篇关于详解Spring注解驱动开发实现属性赋值的文章就介绍到这了,更多相关Spring注解驱动开发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot使用@Cacheable出现预览工具乱码的解决方法
直接使用注解进行缓存数据,我们再使用工具去预览存储的数据时发现是乱码,这是由于默认序列化的问题,所以接下来将给大家介绍一下SpringBoot使用@Cacheable出现预览工具乱码的解决方法,需要的朋友可以参考下2023-10-10IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)
这篇文章主要介绍了IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装),本文通过截图给大家展示的非常详细,需要的朋友可以参考下2021-09-09
最新评论