生活随笔
收集整理的這篇文章主要介紹了
SpringBoot入门二
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
參考Spring Boot Starters - 御坂研究所
創(chuàng)建自己的starter
starter是依賴(lài)的一種synthesize(合成)。
starter會(huì)把需要用到的依賴(lài)全部包含進(jìn)來(lái),避免開(kāi)發(fā)者自己手動(dòng)引入依賴(lài)。
starter的邏輯
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starters</artifactId><version>2.0.4.RELEASE</version></parent><dependencies><!-- 自定義starter依賴(lài)此jar包 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies>
- 創(chuàng)建ConfigurationProperties,設(shè)置默認(rèn)配置,如果配置文件有同名的配置,會(huì)覆蓋默認(rèn)配置
package org.cc.http.configuration;import org.springframework.boot.context.properties.ConfigurationProperties;@ConfigurationProperties(prefix="http")// 自動(dòng)獲取配置文件中前綴為http的屬性,把值傳入對(duì)象參數(shù)
public class HttpConfigurationProperties {// 如果配置文件中配置了http.url屬性,則該默認(rèn)屬性會(huì)被覆蓋private String url = "http://www.baidu.com/";public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}}
- 創(chuàng)建業(yè)務(wù)類(lèi)
package org.cc.http.configuration;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;public class HttpClient {private String url;// 根據(jù)url獲取網(wǎng)頁(yè)數(shù)據(jù)public String getHtml() {try {URL url = new URL(this.url);URLConnection urlConnection = url.openConnection();BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "utf-8"));String line = null;StringBuilder sb = new StringBuilder();while ((line = br.readLine()) != null) {sb.append(line).append("\n");}return sb.toString();} catch (Exception e) {e.printStackTrace();}return "error";}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}}
- starter核心功能:創(chuàng)建HttpAutoConfiguration類(lèi),使用HttpConfigurationProperties定義的配置,返回一個(gè)業(yè)務(wù)對(duì)象
package org.cc.http.configuration;import javax.annotation.Resource;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
@EnableConfigurationProperties(HttpConfigurationProperties.class)
public class HttpAutoConfiguration {@Resourceprivate HttpConfigurationProperties properties; // 使用配置// 在Spring上下文中創(chuàng)建一個(gè)對(duì)象@Bean@ConditionalOnMissingBeanpublic HttpClient init() {HttpClient client = new HttpClient();String url = properties.getUrl();client.setUrl(url);return client;}}
- 將HttpAutoConfiguration加入到src\main\resources\META-INF\spring.factories進(jìn)行聲明
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.cc.http.configuration.HttpAutoConfiguration
創(chuàng)建好starter之后,打包就可以使用了。
springboot配置詳解
Spring Boot 2.0 教程 - 配置詳解 - NNS - 博客園Spring Boot 可以通過(guò)properties文件,YAML文件,環(huán)境變量和命令行參數(shù)進(jìn)行配置。屬性值可以通過(guò),@Value注解,Environment或者ConfigurationProperhttps://www.cnblogs.com/hitandrew/p/9062861.html
?Java啟動(dòng)參數(shù)和腳本 - Howlet - 博客園
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的SpringBoot入门二的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。