今天主要来简单介绍一下@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几种数值填充方式

  1. 基本数值的填充  这个上面演示的就是

  2. 基于SpEl表达式#{}  如上文中年龄也可以这样#{28-2}

  3. 基于配置文件${配置文件中参数名}

基于配置文件是我们最常用的也是最方便的一种,将会在下一节中讲@PropertySource注解的时候给大家演示,敬请期待....

以上是今天文章的所有内容,欢迎大家吐槽

推荐阅读

更多优质文章请关注以下公众号查阅:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1