Spring注解开发——18、属性赋值-@Value赋值

18、属性赋值-@Value赋值

18.1 使用@Value赋值三种方式

  • 基本数值
  • 可以写SPEL 表达式,例如: #{}
  • 可以写${} ,取出配置文件中的值(在运行环境变量里面的值)

18.2 使用基本数值和SPEL表达式

package com.suirui.springanno.propertyValues.entity;

import org.springframework.beans.factory.annotation.Value;

public class Person {

    /**
     * 使用@Value赋值:
     * 1. 基本数值
     * 2. 可以写SPEL 表达式,例如: #{}
     * 3. 可以写${} ,取出配置文件中的值(在运行环境变量里面的值)
     */
    @Value("张三")
    private String name;

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

    public Person() {
    }

    public Person(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    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;
    }

    @Override
    public String toString() {
        return "Pension{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
package com.suirui.springanno.propertyValues.config;

import com.suirui.springanno.propertyValues.entity.Person;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MainConfig {

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

}



package com.suirui.springanno.propertyValues;

import com.suirui.springanno.propertyValues.config.MainConfig;
import com.suirui.springanno.propertyValues.entity.Person;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainTestPropertyValues {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(MainConfig.class);
        String[] beanDefinitionNames = ac.getBeanDefinitionNames();
        for (String s : beanDefinitionNames) {
            System.out.println(s);
        }


        Person person = (Person) ac.getBean("person");
        System.out.println(person);
    }
}

 

Spring注解开发——18、属性赋值-@Value赋值_第1张图片

你可能感兴趣的:(Spring注解开发)