1. 程式人生 > >【spring boot】3.spring boot項目,綁定資源文件為bean並使用

【spring boot】3.spring boot項目,綁定資源文件為bean並使用

display fig 屬性綁定 factor pin none rand actor tag

整個例子的結構目錄如下:

技術分享

1.自定義一個資源文件

技術分享

com.sxd.name = 申九日木
com.sxd.secret = ${random.value}
com.sxd.intValue = ${random.int}
com.sxd.uuid = ${random.uuid}
com.sxd.age= ${random.int(100)}

com.sxd.resume = 簡歷:①姓名:${com.sxd.name}   ②年齡:${com.sxd.age}

2.將資源文件中的屬性綁定到一個bean上

技術分享

技術分享
package com.sxd.beans;


import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; /** * User實體 * @Component 聲明User實體為一個bean * @PropertySource 聲明對應綁定了test.properties文件 【應對ConfigurationProperties註解取消掉location的屬性】 * @ConfigurationProperties 對應綁定前綴為com.sxd的屬性名 */ @Component @PropertySource(value
= "classpath:/test.properties") @ConfigurationProperties(prefix = "com.sxd") public class User { private String name; private Integer age; //資源文件中定義的是com.sxd.uuid而不是uu,這裏的uu字段只是測試如果名稱不對應,是否會賦值成功 private String uu; private String resume; 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 getUu() { return uu; } public void setUu(String uu) { this.uu = uu; } public String getResume() { return resume; } public void setResume(String resume) { this.resume = resume; } }
View Code

3.spring boot的主入口

技術分享

技術分享
package com.sxd.secondemo;

import com.sxd.beans.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * spring boot 的主入口類
 * @RestController = @ResponseBody + @Controller
 * @SpringBootApplication  spring boot的核心註解
 * @EnableConfigurationProperties 激活綁定資源文件的Bean,例如這裏的User.class或者更多
 */
@RestController
@SpringBootApplication
@EnableConfigurationProperties(User.class)
public class SecondemoApplication {

    /**
     * @Autowired  自動註入,需要@EnableConfigurationProperties中聲明已經激活的Bean才能自動註入成功
     */
    @Autowired
    User user;

    /**
     * 請求地址為localhost:8080/即可訪問到本方法
     * @return
     */
    @RequestMapping("/")
    public String hello(){
        /**
         * idea中 System.out.println()快捷方式為sout,然後Alt+Enter才能出來
         */
        System.out.println(user.getResume());

        return "打印簡歷:"+user.getResume()+"\n"+"uu是否有值:"+user.getUu();
    }

    public static void main(String[] args) {
        SpringApplication.run(SecondemoApplication.class, args);
    }
}
View Code

4.運行結果:

技術分享

【spring boot】3.spring boot項目,綁定資源文件為bean並使用