日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

软件架构-Spring boot快速开始及核心功能介绍(中)

發(fā)布時間:2024/5/14 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件架构-Spring boot快速开始及核心功能介绍(中) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上次通過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
編寫測試類

package com.idig8.springboot;import junit.framework.TestCase;import org.junit.Ignore; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration;@Ignore @SpringBootTest(classes=Example.class) @WebAppConfiguration @RunWith(SpringJUnit4ClassRunner.class) public class ExampleTest {@Autowiredprivate Example controller;// @Testpublic void testHome() {TestCase.assertEquals("Hello World!", controller.home());System.out.println(controller.home());} }

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
<dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId> </dependency>
  • ② spring-boot-devtools
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId> </dependency>

啟動程序,訪問瀏覽器出現(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。