最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot @PropertySource與@ImportResource有什么區(qū)別

 更新時(shí)間:2023年01月19日 11:37:31   作者:zoeil  
這篇文章主要介紹了SpringBoot @PropertySource與@ImportResource有什么區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

前言

在SpringBoot中,對于JavaBean的屬性一般都綁定在配置文件中,比如application.properties/application.yml/application.yaml,這三個(gè)配置文件前面的優(yōu)先級高于后面的,即對于同名屬性,前面的配置會覆蓋后面的配置文件。

當(dāng)我們自己創(chuàng)建類,也想放到容器中,可以單獨(dú)建立文件,可以通過@PropertySource與@ImportResource這兩個(gè)注解來注入到Servlet容器中,就可以搞定不在主配置里讀取,按照不同的功能模塊劃分出不同的配置文件。

前者適合yml、yaml格式,而@importResource則適用于xml文件格式,如beans.xml 可以把其注解到窗口中,不過要放在spring boot主配置文件頭部

@PropertySource

可以自定義配置文件名稱,不在默認(rèn)配置文件中讀取值,多用于額外配置文件與實(shí)體屬性映射。

在從配置文件里獲取值,與JavaBean做映射。存在一個(gè)問題,我們是從主配置(application.yml)里讀取的。如果全部的配置都寫到application里,那么主配置就會顯得特別臃腫。為了按照不同模塊自定義不同的配置文件引入了@PropertySource

user.name=張三
user.age=24
user.email=xxxxxxx@qq.com
user.address=xx省xx市xx區(qū)

JavaBean

@Data
@PropertySource(value = {"classpath:user.properties"})
@ConfigurationProperties(prefix = "user")
@Component
public class Person {
    private String name;
    private Integer age;
    private String email;
    private String address;
}

這樣一個(gè)注解(@PropertySource(value = {“classpath:person.properties”}))就可以搞定不在主配置里讀取,按照不同的功能模塊劃分出不同的配置文件。

@ImportResource

一般情況下我們自定義的xml配置文件,默認(rèn)情況下這個(gè)bean是不會加載到Spring容器中來的。需要@ImportResource注解將這個(gè)配置文件加載進(jìn)來。

xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="UserService" class="com.boot.UserService"></bean>
<beans>

JavaBean

public class UserService {
}

修改啟動類

@SpringBootApplication
@ImportResource(locations = {"classpath:beans.xml"})
public class Springboot02ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(Springboot02ConfigApplication.class, args);
    }
}

小結(jié)

@PropertySource 用于引入*.Properties或者 .yml 用于給javabean注入值

一般用在javabean的類名上

@ImportResource 用于引入.xml 類型的配置文件 在spring boot中已經(jīng)被配置類(@Bean)替代 一般用于啟動類上

到此這篇關(guān)于SpringBoot @PropertySource與@ImportResource有什么區(qū)別的文章就介紹到這了,更多相關(guān)SpringBoot @PropertySource內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

遵义市| 张家界市| 蓝山县| 都江堰市| 临沂市| 汨罗市| 鹤庆县| 宣威市| 舒城县| 元朗区| 紫金县| 云南省| 麻江县| 靖远县| 合阳县| 福建省| 三江| 沾化县| 金坛市| 富顺县| 温州市| 南部县| 邮箱| 沙坪坝区| 元朗区| 农安县| 鲁山县| 福泉市| 许昌县| 肥乡县| 阿拉善右旗| 文登市| 乌苏市| 景洪市| 墨脱县| 紫金县| 桐梓县| 咸丰县| 天等县| 枣庄市| 永新县|