今天主要来简单介绍一下@value注解的使用,在讲@value注解使用前,先让我们一起来看看原先xml方式是怎么注入属性参数的
首先在xml中定义一个bean如下:把对应的参数以property中value的形式注入
测试代码如下:
// 使用ClassPathXmlApplicationContext获取spring容器ApplicationContext ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); // 根据bean id获取bean对象 User bean = (User) applicationContext.getBean("user"); System.out.println(bean);
运行结果如下:可以发现已经获取到xml中配置的属性了
User [userName=zhangsan, age=26]
接下来我们来看看用@value注解要怎么实现,首先在User对象的属性中增加@value注解如下:
/** * 用户名 */ @Value("张三") private String userName; /** * 年龄 */ @Value("26") private Integer age;
配置类如下:
@Configuration public class MainConfig { /** * 定义一个bean对象 * @return */ @Bean public User getUser(){ return new User(); } }
测试类如下:
AnnotationConfigApplicationContext applicationContext2 = new AnnotationConfigApplicationContext(MainConfig.class); User bean = applicationContext2.getBean(User.class); System.out.println("实例1 === "+bean); applicationContext2.close();
运行结果如下:
实例1 === User [userName=张三, age=26]
怎么样发现我们同样获取到了对应的值,有人可能会觉得这样配置并不是特别方便,甚至觉得这样比较麻烦,那下边我们一起来看下@value几种数值填充方式
基本数值的填充 这个上面演示的就是
基于SpEl表达式#{} 如上文中年龄也可以这样#{28-2}
基于配置文件${配置文件中参数名}
基于配置文件是我们最常用的也是最方便的一种,将会在下一节中讲@PropertySource注解的时候给大家演示,敬请期待....
以上是今天文章的所有内容,欢迎大家吐槽
推荐阅读
更多优质文章请关注以下公众号查阅: