hualinux spring 4.11:@Value 属性注入
程序员文章站
2022-05-29 15:14:37
...
目录
@Value 属性注入 这个很简单,就是给类属性赋值。
一、知识点
给属性赋值,等同于xml中的 <bean>的 <property name="age" value="${}"></property>
1、基本数值
2、可以写SpEL; #{}
3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值)
二、例子
2.1 相关实现
建立一个YAML配置文件
src-->new-->File-->person.yml,内容如下:
nickName: hualinux
注:nickName冒号后面有一个空格的!!!
src-->com.hualinux.beans.Person.java
package com.hualinux.beans;
import org.springframework.beans.factory.annotation.Value;
public class Person {
/*
* 使用@Value赋值
* 1. 基本数值
* 2. 人可以写SpEL:#{}
* 3.可以写${},取出配置文件[properties]中的值(在运行环境变量里面的值)
* */
@Value("阿华")
private String name;
@Value("#{28-2}")
private Integer age;
@Value("${nickName}")
private String nickName;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", nickName='" + nickName + '\'' +
'}';
}
}
src-->conf.MainConfPerson.java 配置文件
package conf;
import com.hualinux.beans.Person;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
//这个注解下章讲,
@PropertySource(value={"classpath:/person.yml"})
@Configuration
public class MainConfPerson {
@Bean
public Person person(){
return new Person();
}
}
src-->com.hualinux.beans.PersonMain.java 代码如下:
package com.hualinux.beans;
import conf.MainConfPerson;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class PersonMain {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx=new AnnotationConfigApplicationContext(MainConfPerson.class);
Person person= (Person) ctx.getBean("person");
System.out.println(person);
}
}
2.2 运行结果
运行com.hualinux.beans.PersonMain.java,结果
Person{name='阿华', age=26, nickName='hualinux'}
下一篇: PHP调用C++DLL的问题