今天主要来简单介绍一下@value注解的使用,在讲@value注解使用前,先让我们一起来看看原先xml方式是怎么注入属性参数的
首先在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几种数值填充方式
基本数值的填充 这个上面演示的就是
基于SpEl表达式#{} 如上文中年龄也可以这样#{28-2}
基于配置文件${配置文件中参数名}
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦