springboot 屬性賦值

一、內部直接賦值

  •  直接賦值 @Value("")
  • 可以寫@Value("#{20-5}")進行數值賦值

1、創建Dog類

package com.example.demo;


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

public class Dog  {

    @Value("小白")
    private String name;
    @Value("#{20-5}")
    private int age;


    @Override
    public String toString() {
        return "Dog [name= " + name + ", age= " +age +"]";
    }
}

2、創建配置類


//告訴Spring這是一個配置類
@Configuration
public class MainConfig {

    /*
     * 1、指定初始化和銷燬方法
     *         通過@Bean指定initMethod和destroyMethod
     */
    @Bean(name="dog")
    public Dog dog() {
        return new Dog();
    }

}

3、測試

@SpringBootTest
class DemoApplicationTests {

    @Test
    void contextLoads() {
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);
        Dog dog = (Dog)applicationContext.getBean("dog");
        System.out.println(dog);
    }

}

結果:

Dog [name= 小白, age= 15]

 

二、從配置文件中取值

  • 可以寫${}取出配置文件【properties】的值(在運行環境變量裏面的值)
  • 使用@PropertySource讀取外部配置文件中的k/v保存到運行的環境變量中;加載完外部的配置文件後使用${}取出配置文件的值

1、編寫dog.propertise配置文件

Dog.name=小白
Dog.age=18

 2、編寫配置類


//告訴Spring這是一個配置類
@Configuration
//@PropertySource讀取外部配置文件
@PropertySource(value = "classpath:/dog.propertise")
public class MainConfig {

    /*
     * 1、指定初始化和銷燬方法
     *         通過@Bean指定initMethod和destroyMethod
     */
    @Bean(name="dog")
    public Dog dog() {
        return new Dog();
    }

}

3、編寫dog類,並從文件中讀取



public class Dog  {

    @Value("${Dog.name}")
    private String name;
    @Value("#{20-5}")
    private int age;


    @Override
    public String toString() {
        return "Dog [name= " + name + ", age= " +age +"]";
    }
}

同樣能賦值成功 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章