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

SpringBoot配置文件導(dǎo)入方法詳細(xì)講解

 更新時間:2022年10月26日 11:06:46   作者:沫洺  
Spring Boot雖然是Spring的衍生物, 但默認(rèn)情況下Boot是不能直接使用Spring的配置文件的, 我們可以通過兩種方式導(dǎo)入Spring的配置

導(dǎo)入傳統(tǒng)xml配置

默認(rèn)情況下,Spring Boot 中是不包含任何的 Spring 配置文件的,即使我們手動添加 Spring 配置文件到項目中,也不會被識別。

Spring Boot提倡基于Java的配置。盡管你可以使用XML源,不過還是建議你使用@Configuration類作為主要配置源。通常定義了main方法的類也是使用@Configuration注解的一個很好的替補(bǔ)。

使用@ImportResource注解加載Spring配置文件

在主啟動類上使用 @ImportResource 注解可以導(dǎo)入一個或多個 Spring 配置文件,并使其中的內(nèi)容生效。

在resources下創(chuàng)建beans.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">
</beans>

創(chuàng)建業(yè)務(wù)測試類

接口OrderService

public interface OrderService {
    public void test();
}

實現(xiàn)類OrderServiceImpl

public class OrderServiceImpl  implements OrderService{
    @Override
    public void test() {
        System.out.println("xml配置獲取類的實例");
    }
}

在beans.xml中增加配置

<bean id="orderService" class="com.moming.service.impl.OrderServiceImpl"></bean>

引入xml文件

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

注入OrderService

@RestController
public class OrderController {
    @Autowired
    private OrderService orderService;
    @RequestMapping("/test")
    public void test(){
        orderService.test();
    }
}

測試

@import導(dǎo)入其它配置類

無需將所有內(nèi)容都@Configuration放在一個類中。@Import注釋可以用于導(dǎo)入額外的配置類。另外,可以@ComponentScan用來自動拾取所有Spring組件,包括@Configuration類。

創(chuàng)建不同包下的配置類

package cn.moming;
public class B {
    public void  test(){
        System.out.println("我是外包的B類");
    }
}
package cn.moming;
public class C {
    public void  test(){
        System.out.println("我是外包的C類");
    }
}

主類引入不同包下的配置類

如果配置類跟主類在同一包及其子包下,無需引入,在不同包下通過@Import引入既可

@SpringBootApplication
//@ImportResource(value = "classpath:beans.xml")
@Import({B.class,C.class})
public class App{
    public static void main(String[] args) {
        //SpringApplication.run(App.class, args);
        ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
        B bean1 = context.getBean(B.class);
        C bean2 = context.getBean(C.class);
        bean1.test();
        bean2.test();
    }
}

同一包及其子包下,使用 @Configuration 注解定義配置類

package com.moming.config;
import org.springframework.context.annotation.Configuration;
@Configuration
public class A {
    public void  test(){
        System.out.println("我是同包/子包的A類");
    }
}
@SpringBootApplication
//@ImportResource(value = "classpath:beans.xml")
//@Import({B.class,C.class})
public class App{
    public static void main(String[] args) {
        //SpringApplication.run(App.class, args);
        ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
        A bean = context.getBean(A.class);
        bean.test();
    }
}

@Configuration全注解方式加載Spring配置

Spring Boot 推薦我們使用全注解的方式加載 Spring 配置,其實現(xiàn)方式如下:

  • 使用 @Configuration 注解定義配置類,替換 Spring 的配置文件;
  • 配置類內(nèi)部可以包含有一個或多個被 @Bean 注解的方法,這些方法會被 AnnotationConfigApplicationContext 或 AnnotationConfigWebApplicationContext 類掃描,構(gòu)建 bean 定義(相當(dāng)于 Spring 配置文件中的<bean></bean>標(biāo)簽),方法的返回值會以組件的形式添加到容器中,組件的 id/name 就是方法名。

到此這篇關(guān)于SpringBoot配置文件導(dǎo)入方法詳細(xì)講解的文章就介紹到這了,更多相關(guān)SpringBoot配置文件導(dǎo)入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Springboot實現(xiàn)定時發(fā)送郵件功能

    基于Springboot實現(xiàn)定時發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了基于Springboot實現(xiàn)定時發(fā)送郵件功能的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式

    springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式

    這篇文章主要介紹了springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • MyBatis Plus整合Redis實現(xiàn)分布式二級緩存的問題

    MyBatis Plus整合Redis實現(xiàn)分布式二級緩存的問題

    Mybatis內(nèi)置的二級緩存在分布式環(huán)境下存在分布式問題,無法使用,但是我們可以整合Redis來實現(xiàn)分布式的二級緩存,這篇文章給大家介紹MyBatis Plus整合Redis實現(xiàn)分布式二級緩存,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • JavaSE基礎(chǔ)之反射機(jī)制(反射Class)詳解

    JavaSE基礎(chǔ)之反射機(jī)制(反射Class)詳解

    反射機(jī)制有什么用?通過java語言中的反射機(jī)制可以操作字節(jié)碼文件,可以讀和修改字節(jié)碼文件。所以本文將為大家講講反射機(jī)制的使用,需要的可以參考一下
    2022-09-09
  • 詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例

    詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例

    這篇文章主要介紹了詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • @Autowired注入為null問題原因分析

    @Autowired注入為null問題原因分析

    這篇文章主要介紹了@Autowired注入為null問題原因分析嗎,小編覺得挺不錯的,對日后比較有幫助,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 如何編寫javascript的gulp插件

    如何編寫javascript的gulp插件

    本文主要介紹了使用PMD進(jìn)行代碼審查的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Java開發(fā)必備知識之?dāng)?shù)組詳解

    Java開發(fā)必備知識之?dāng)?shù)組詳解

    數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同.本篇文章為大家整理了Java最全關(guān)于數(shù)組的知識點,并給出其對應(yīng)的代碼,需要的朋友可以參考下
    2021-06-06
  • Java Stream 流實現(xiàn)合并操作示例

    Java Stream 流實現(xiàn)合并操作示例

    這篇文章主要介紹了Java Stream 流實現(xiàn)合并操作,結(jié)合實例形式詳細(xì)分析了Java Stream 流實現(xiàn)合并操作原理與相關(guān)注意事項,需要的朋友可以參考下
    2020-05-05
  • 解析Java中如何獲取Spring中配置的bean

    解析Java中如何獲取Spring中配置的bean

    本篇文章是對在Java中如何獲取Spring中配置的bean進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07

最新評論

垣曲县| 略阳县| 会同县| 渭南市| 咸丰县| 青河县| 芜湖县| 乌拉特前旗| 南城县| 简阳市| 罗田县| 临颍县| 武川县| 贵定县| 桐乡市| 承德县| 澎湖县| 赣榆县| 梓潼县| 交口县| 镶黄旗| 贵港市| 漾濞| 南木林县| 阳朔县| 靖州| 萝北县| 黄龙县| 延吉市| 利津县| 铜鼓县| 水富县| 黑水县| 荣昌县| 吉水县| 大新县| 庐江县| 车致| 嵊州市| 汝南县| 扎鲁特旗|