spring注解之@value注解

首先在xml中定义一个bean如下:把对应的参数以property中value的形式注入

<!-- 定义一个id为user的bean对象 -->
    <bean id="user" class="com.zhang.bean.User">
        <property name="age" value="26"></property>
        <property name="userName" value="zhangsan"></property>
    </bean>

测试代码如下:

// 使用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注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值