中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現自動配置Spring Boot框架

發布時間:2020-11-17 15:00:16 來源:億速云 閱讀:186 作者:Leah 欄目:編程語言

本篇文章為大家展示了如何實現自動配置Spring Boot框架,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、新建starter的Maven項目

我這里以IntelliJ IDEA創建Project為例,其實很簡單,創建一個Maven項目,但是注意創建的時候選擇quickstart,步驟如下:

如何實現自動配置Spring Boot框架 

如何實現自動配置Spring Boot框架 

如何實現自動配置Spring Boot框架 

如何實現自動配置Spring Boot框架 

OK,這樣我們就創建好一個Project了。

2.添加依賴

由于我們要使用Spring Boot的自動配置功能,所以在工程創建成功之后首先要添加Spring Boot自身的自動配置作為依賴,如下:

  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-autoconfigure</artifactId>
   <version>1.4.2.RELEASE</version>
  </dependency>

3.屬性配置

@ConfigurationProperties(prefix = "hello")
public class HelloServiceProperties {
  private static final String MSG = "world";
  private String msg = MSG;

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }
}

這里就是一個簡單的類,和上篇博客中我們提到的 類型安全的屬性獲取是一致的,這里屬性的值我們可以在application.properties中來直接設置,如果不設置的話默認為world。

4.判斷依據類

public class HelloService {
  private String msg;
  public String sayHello(){
    return "hello " + msg;
  }

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }
}

我們一會的例子就是根據這個類是否存在來創建這個類的Bean,當然這個類也可以是第三方類庫。

5.自動配置類

@Configuration
@EnableConfigurationProperties(HelloServiceProperties.class)
@ConditionalOnClass(HelloService.class)
@ConditionalOnProperty(prefix = "hello",value = "enable",matchIfMissing = true)
public class HelloServiceAutoConfiguration {
  @Autowired
  private HelloServiceProperties helloServiceProperties;
  @Bean
  public HelloService helloService() {
    HelloService helloService = new HelloService();
    helloService.setMsg(helloServiceProperties.getMsg());
    return helloService;
  }
}

這里@ConditionalOnClass注解主要是用來判斷HelloService這個類在路徑中是否存在,在存在且容器中沒有該類的Bean的情況下系統會自動配置需要的Bean,@ConditionalOnProperty注解則表示指定的屬性要滿足的條件,在helloService方法中我們則使用了HelloServiceProperties提供的參數。

6.注冊配置

在resources目錄下新建META-INF目錄,然后在META-INF目錄下創建spring.factories文件,文件內容如下,表示設置自動配置類的位置,若有多個配置類用”,”隔開即可。:

復制代碼 代碼如下:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.sang.HelloServiceAutoConfiguration

正常情況下我們按步驟一創建出來的Project是沒有resources這個文件夾的,在IntelliJ IDEA這個工具中,我們需要先創建一個directory,然后將之設置為resources root即可,設置方式如下:選中resources目錄右鍵單擊–》Mark Directory as–》Resource Root。

7.在項目中使用

OK,經過上面幾個步驟我們的自動配置功能就算死寫好了,接下來我們要在自己的項目中來使用它了,正常情況下做好自動配置類之后我們需要將之上傳到 maven 私服上然后直接在項目中引用,也可以將之安裝到本地庫,這里我選擇后者的一個簡化方式,直接創建Module來引用這個自動配置Module(如果小伙伴是用STS或者MyEclipse之類的開發工具直接創建新工程然后添加引用類庫即可)。

創建Module方式很簡單,選中剛才的Project右鍵單擊,New一個Module,這個Module是一個SpringBoot項目(不清楚怎么創建SpringBoot項目可以查看這篇文章初識Spring Boot框架),創建成功之后選擇新建的Module按F4打開Module設置,然后選擇右邊的加號添加依賴,如下:

如何實現自動配置Spring Boot框架

如何實現自動配置Spring Boot框架

然后在新建Module的pom.xml文件中添加如下依賴:

<dependency>
      <groupId>org.sang</groupId>
      <artifactId>org.sang.mystarter</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

實際上就是我們剛剛創建的自動配置文件的坐標。然后新Module的入口類中添加如下代碼:

@Autowired
  private HelloService helloService;

  @RequestMapping("/")
  public String index(){
    return helloService.sayHello();
  }

使用剛剛創建的HelloService,如果需要我們可以在application.properties中添加如下配置:

hello.msg = 賣花擔上看桃李, 拍酒樓頭聽管弦。

運行Module,然后在瀏覽器中訪問,結果如下:

如何實現自動配置Spring Boot框架

上述內容就是如何實現自動配置Spring Boot框架,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凌云县| 万荣县| 泰宁县| 佛冈县| 年辖:市辖区| 宁河县| 额尔古纳市| 河池市| 兴化市| 绍兴市| 扎鲁特旗| 铁岭县| 启东市| 南昌市| 娱乐| 阳新县| 吴旗县| 安远县| 平果县| 长寿区| 昆山市| 勃利县| 长葛市| 安宁市| 噶尔县| 云龙县| 读书| 宁城县| 霍州市| 泽州县| 望奎县| 沙河市| 应用必备| 连江县| 彰武县| 金秀| 赤水市| 邵阳县| 阿拉善盟| 共和县| 吴江市|