亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

在主啟動(dòng)類(lèi)上使用 @ImportResource 注解可以導(dǎo)入一個(gè)或多個(gè) 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ù)測(cè)試類(lèi)

接口OrderService

public interface OrderService {
    public void test();
}

實(shí)現(xiàn)類(lèi)OrderServiceImpl

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

在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();
    }
}

測(cè)試

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

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

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

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

主類(lèi)引入不同包下的配置類(lèi)

如果配置類(lèi)跟主類(lèi)在同一包及其子包下,無(wú)需引入,在不同包下通過(guò)@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 注解定義配置類(lèi)

package com.moming.config;
import org.springframework.context.annotation.Configuration;
@Configuration
public class A {
    public void  test(){
        System.out.println("我是同包/子包的A類(lèi)");
    }
}
@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 配置,其實(shí)現(xiàn)方式如下:

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

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

相關(guān)文章

  • java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能

    java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringBoot搭建全局異常攔截

    SpringBoot搭建全局異常攔截

    這篇文章主要介紹了SpringBoot搭建全局異常攔截,本文通過(guò)詳細(xì)的介紹與代碼的展示,詳細(xì)的說(shuō)明了如何搭建該項(xiàng)目,包括創(chuàng)建,啟動(dòng)和測(cè)試步驟,需要的朋友可以參考下
    2021-06-06
  • spring自定義注解及使用方法詳細(xì)例子

    spring自定義注解及使用方法詳細(xì)例子

    這篇文章主要給大家介紹了關(guān)于spring自定義注解及使用方法的相關(guān)資料,Spring 是一個(gè)非常強(qiáng)大的框架,可以使用自定義注解來(lái)完成許多任務(wù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 使用Java實(shí)現(xiàn)在PDF插入頁(yè)眉頁(yè)腳

    使用Java實(shí)現(xiàn)在PDF插入頁(yè)眉頁(yè)腳

    在處理PDF文檔時(shí),有時(shí)需要為文檔中的每一頁(yè)添加頁(yè)眉和頁(yè)腳,這篇文章主要為大家詳細(xì)介紹了如何使用Java為PDF文件添加頁(yè)眉、頁(yè)腳,感興趣的可以了解下
    2024-03-03
  • 詳解SpringBoot中JdbcTemplate的事務(wù)控制

    詳解SpringBoot中JdbcTemplate的事務(wù)控制

    JdbcTemplate是spring-jdbc提供的數(shù)據(jù)庫(kù)核心操作類(lèi),那對(duì)JdbcTemplate進(jìn)行事務(wù)控制呢,本文就詳細(xì)的介紹一下
    2021-09-09
  • 深入理解Java8新特性之新日期時(shí)間API的應(yīng)用

    深入理解Java8新特性之新日期時(shí)間API的應(yīng)用

    自從 14 年發(fā)布 Java 8 以后,我們古老 java.util.Date 終于不再是我們 Java 里操作日期時(shí)間的唯一的選擇,其實(shí) Java 里的日期時(shí)間的相關(guān) API 一直為世猿詬病,今天我們來(lái)了解新的日期時(shí)間API是怎么使用吧
    2021-11-11
  • 阿里dubbo出錯(cuò)提示Thread pool is EXHAUSTED問(wèn)題及解決方法

    阿里dubbo出錯(cuò)提示Thread pool is EXHAUSTED問(wèn)題及解決方法

    這篇文章主要介紹了阿里dubbo出錯(cuò)提示Thread pool is EXHAUSTED的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • mybatis抽取基類(lèi)BaseMapper增刪改查的實(shí)現(xiàn)

    mybatis抽取基類(lèi)BaseMapper增刪改查的實(shí)現(xiàn)

    目前項(xiàng)目當(dāng)中使用mapper.xml文件方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,但是每個(gè)里邊都有增/刪/改/查,為了方便開(kāi)發(fā),把這些公共的代碼提取出來(lái),不用當(dāng)做基類(lèi),不用每個(gè)Mapper文件都寫(xiě)了,本文就詳細(xì)的介紹一下實(shí)現(xiàn)方法
    2021-09-09
  • Spring Data JPA的Audit功能審計(jì)數(shù)據(jù)庫(kù)的變更

    Spring Data JPA的Audit功能審計(jì)數(shù)據(jù)庫(kù)的變更

    數(shù)據(jù)庫(kù)審計(jì)是指當(dāng)數(shù)據(jù)庫(kù)有記錄變更時(shí),可以記錄數(shù)據(jù)庫(kù)的變更時(shí)間和變更人等,這樣以后出問(wèn)題回溯問(wèn)責(zé)也比較方便,本文討論Spring Data JPA審計(jì)數(shù)據(jù)庫(kù)變更問(wèn)題,感興趣的朋友一起看看吧
    2021-06-06
  • java 刪除文件夾中的所有內(nèi)容而不刪除文件夾本身的實(shí)例

    java 刪除文件夾中的所有內(nèi)容而不刪除文件夾本身的實(shí)例

    下面小編就為大家?guī)?lái)一篇java 刪除文件夾中的所有內(nèi)容而不刪除文件夾本身的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12

最新評(píng)論