您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Spring Boot中如何整合Web項目,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
整個項目分為如下幾部分:
spring-boot-autoconfigure: 具體的各功能實現,每個功能通過package的形式組織
spring-boot-commons: 一些公共的工具類或共享類
spring-boot-dependencies: 依賴的集中維護管理,集中管理各個依賴的版本號
spring-boot-parent: 提供一個基本的父項目,web服務項目可通過繼承該項目創建
spring-boot-starters: 各功能的starter項目,引入相應starter即引入相應功能
spring-boot-dependencies 項目
該項目主要是對所有依賴進行集中定義。通過 dependencyManagement 對依賴進行聲明,
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>cn.jboost.springboot</groupId> <artifactId>spring-boot-commons</artifactId> <version>${base-spring-boot.version}</version> </dependency> ... </dependencies> </dependencyManagement>
這樣,所有依賴的版本可以集中統一管理,在其它地方引用的時候可以省去版本的聲明,如
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <optional>true</optional> </dependency>
spring-boot-autoconfigure 項目
該項目是各功能自動配置的具體實現,以package的形式進行組織,如 tkmapper 包下實現了通用Mapper的自動配置,error 包下實現了錯誤處理的自動配置, 等等。
該項目繼承了spring-boot-dependencies, 在項目的 pom.xml 中,依賴部分聲明類似于
<dependencies> <!-- spring denpendencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <optional>true</optional> </dependency> ... </dependencies>
不需要再指定版本號。通過將optional設置為true,表示該依賴不會進行傳遞,即另外一個項目引用該項目時,optional的依賴不會被傳遞依賴過去。
在 resources/META-INF/spring.factories 文件中,聲明了所有自動配置類, 如下
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ cn.jboost.springboot.autoconfig.tkmapper.MapperAutoConfiguration,\ cn.jboost.springboot.autoconfig.aoplog.AopLoggerAutoConfiguration,\ cn.jboost.springboot.autoconfig.alimq.config.AliMQAutoConfiguration,\ cn.jboost.springboot.autoconfig.qiniu.QiniuAutoConfiguration,\ cn.jboost.springboot.autoconfig.swagger.Swagger2AutoConfiguration,\ cn.jboost.springboot.autoconfig.druid.DruidAutoConfiguration,\ cn.jboost.springboot.autoconfig.error.exception.ExceptionHandlerAutoConfiguration,\ cn.jboost.springboot.autoconfig.alimns.MnsAutoConfiguration,\ cn.jboost.springboot.autoconfig.redis.RedisClientAutoConfiguration,\ cn.jboost.springboot.autoconfig.web.CORSAutoConfiguration
spring-boot-starters 項目
該項目包含按功能劃分的多個子項目,主要用來引入依賴以達到自動配置的依賴條件,使引入對應starter時,能讓自動配置生效。如通用Mapper集成的 tkmapper-spring-boot-starter 依賴如下
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> </dependency> </dependencies>
關于Spring Boot中如何整合Web項目就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。