Spring MVC 通過 @PropertySource和@Value 來讀取配置文件

Spring MVC 通過 @PropertySource和@Value 來讀取配置文件

在這篇文章中,我們會利用Spring的@PropertySource和@Value兩個註解從配置文件properties中讀取值。先來段java代碼:

複製代碼

@Component
@PropertySource(value = {"classpath:common.properties", "classpath:abc.properties"})
public class Configs {

    @Value("${connect.api.apiKeyId}")
    public String apiKeyId;

    @Value("${connect.api.secretApiKey}")
    public String secretApiKey;

    public String getApiKeyId() {
        return apiKeyId;
    }

    public String getSecretApiKey() {
        return secretApiKey;
    }
}

複製代碼

我們來具體分析下:

1、@Component註解說明這是一個普通的bean,在Component Scanning時會被掃描到並被注入到Bean容器中;我們可以在其它引用此類的地方進行自動裝配。@Autowired這個註解表示對這個bean進行自動裝配。 比如:

複製代碼

@Controller
public class HomeController {

    @Autowired
    private Configs configs;
}

複製代碼

2、@PropertySource註解用來指定要讀取的配置文件的路徑從而讀取這些配置文件,可以同時指定多個配置文件;

3、@Value("${connect.api.apiKeyId}")用來讀取屬性key=connect.api.apiKeyId所對應的值並把值賦值給屬性apiKeyId;

4、通過提供的get方法來獲取屬性值,如:

複製代碼

@Controller
public class HomeController {

    @Autowired
    private Configs configs;
    
    private void decrytCardInfo(AtomRequest req) throws Exception {
        req.setCardNo(ChipherUtils.desDecrypt(ChipherUtils.decodeBase64(req.getCardNo()), configs.getCardKey(), Consts.CHARSET_UTF8));
    }
}

複製代碼

總結:

@Component+@PropertySource+@Value==強大+便捷+高效

標籤: JavaSpring MVC

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