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

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

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

前言

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

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

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

@PropertySource

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

在從配置文件里獲取值,與JavaBean做映射。存在一個問題,我們是從主配置(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;
}

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

@ImportResource

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

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)文章

最新評論

峡江县| 蓬安县| 深泽县| 苏州市| 南汇区| 台中市| 苏尼特左旗| 方山县| 咸丰县| 尚义县| 兰考县| 宁陕县| 连云港市| 宜川县| 大城县| 乌拉特后旗| 隆安县| 拉萨市| 丹江口市| 思南县| 鹤峰县| 沛县| 泰来县| 桦川县| 湾仔区| 浦北县| 夏邑县| 婺源县| 乌什县| 玉林市| 南涧| 石屏县| 阳信县| 阳泉市| 潜山县| 上犹县| 太保市| 讷河市| 衡南县| 马山县| 彭阳县|