javascript
软件架构-Spring boot快速开始及核心功能介绍(中)
上次通過Spring boot認知,核心功能。springBoot的搭建【官方向?qū)Т罱╞oot應用】和 【maven的方式搭建boot】。
統(tǒng)一父POM管理(一)
- ① 建立boot-parent工程
首先我們建立一個 boot-parent的maven工程
刪除src目錄
然后修改pom.xml。packaging改為為pom格式。
<packaging>pom</packaging>加入dependencyManagement, 同時去掉version, 直接使用父pom中的版本即可。
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-parent</artifactId><version>1.5.10.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>加入 build
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>加入properties添加
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties>父pom完整代碼
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.idig8.springboot</groupId><artifactId>springboot-parent</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>vip-springboot-parent</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-parent</artifactId><version>1.5.10.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>- ② 創(chuàng)建module-base項目
加入java文件
package com.idig8.springboot;/*** @program: springboot-second* @description: ${description}* @author: LiMing* @create: 2019-06-04 22:42**/ import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*;@RestController @EnableAutoConfiguration public class Example {@RequestMapping("/")String home() {return "Hello World!";}public static void main(String[] args) throws Exception {SpringApplication.run(Example.class, args);}}pom文件修改
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springboot-parent</artifactId><groupId>com.idig8.springboot</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>com.idig8.springboot-base</artifactId><name>springboot-base</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies> </project>然后訪問:http://localhost:8080/
spring boot一個很重要的特點:解決了所有依賴的版本問題。
spring boot 測試(二)
添加測試支持依賴:spring-boot-starter-test
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>注意:加入這個依賴之后,junit包就可以不用了,因為test的starter中包含了junit。備注:怎么找到所有的starter。進入官網(wǎng)查詢Reference:https://start.spring.io/
這里面ctrl +f 搜索:starter,就可以看到spring boot中的所有starter
編寫測試類
spring boot 啟動注解分析(三)
- ① @EnableAutoConfiguration
開啟自動配置功能 @ComponentScan(basePackages={“com.example.boot”}) 包掃描。
- ② @SpringBootApplication配置詳解:
一個組合注解,他內(nèi)部主要包含三個子注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan。
- ③ @SpringBootConfiguration
繼承@Configuration,說明這是一個配置類,什么是配置類呢?就相當于我們以前寫的xml配置,例如我們我們的bean標簽,用來實例化一個bean。那么在這個配置類中就是實現(xiàn)以前我們xml配置的功能。
- ④ @EnableAutoConfiguration
開啟自動配置功能,他會掃描帶有@Configuration的類,然后初始化這些配置類中的信息并且加入到應用上下文中去,同時完成一些基本的初始化工作。場景:redis的默認配置。數(shù)據(jù)庫連接池的大小配置。
- ⑤ @ComponentScan
組件包掃描,也就是我現(xiàn)在需要掃描哪些包下面的注解,可自動發(fā)現(xiàn)和裝配一些bean。默認掃描當前啟動類所在包下面的類和下面的所有子包。
spring boot 熱加載/部署(四)
- ① springloaded
- ② spring-boot-devtools
啟動程序,訪問瀏覽器出現(xiàn)第一個結(jié)果,然后修改控制器輸出內(nèi)容,再次刷新看到新的結(jié)果,同時在控制臺可以看待這樣一句話:
o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
項目打包部署(五)
修改boot-parent中pom.xml文件,增加如下內(nèi)容(當然也可以把下面的內(nèi)容復制到子模塊中也是可以的)
<build><plugins><plugin><!-- 項目的打包發(fā)布 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.idig8.springboot.Example</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>執(zhí)行maven install
在target目錄下面,可以看到打包的jar文件
執(zhí)行java -jar xx.jar
【注意:執(zhí)行jar的jdk版本需要與jar打包編譯的版本一致。如果配置了環(huán)境變量,直接使用java命令打包即可】
PS:SpringBoot的入門基本到這里,這就是微架構(gòu),一個程序打包之后輕輕松松在如任何地方一執(zhí)行就完成了。
總結(jié)
以上是生活随笔為你收集整理的软件架构-Spring boot快速开始及核心功能介绍(中)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm 一键折叠(或展开)所有代
- 下一篇: arcgis for JavaScrip