Spring 中的属性赋值

2020-07-30 17:11:18 浏览数 (4)

一、配置文件中的配置

如果使用配置文件的话,可以直接使用 value 属性指定值。

代码语言:javascript复制
<!--  指定配置文件的位置  -->
<context:property-placeholder location="classpath:person.properties"/>

<bean class="top.wsuo.pojo.Person" id="person">
    <property name="name" value="李四"/>
    <property name="age" value="18"/>
</bean>

value 中可以是:

  • 字符串;
  • SpEL 表达式 #{}
  • 配置文件中的值 ${}

如果使用配置文件中的值,需要指定配置文件的位置,使用 context:property-placeholder 标签。

二、@Value 注解

使用 @Value 注解同样可以实现相同的效果:

代码语言:javascript复制
/*
*  使用 @Value 赋值
*   1.基本数值
*   2.可以使用 SpEL #{}
*   3.可以使用 ${}: 取出配置文件中的值(在运行环境变量)
* */
@Value("张四")
private String name;

@Value("#{20-2}")
private Integer age;

@Value("${person.nickName}")
private String neckName;

但是也需要指定配置文件的位置,在配置类中使用 @PropertySource 注解指定:

代码语言:javascript复制
@Configuration
// 加载外部配置文件
@PropertySource({"classpath:person.properties"})
public class MainConfigOfPropertyValues {

    @Bean
    public Person person() {
        return new Person();
    }

}

1 人点赞