SpringBoot快速構(gòu)建應(yīng)用程序方法介紹
首先介紹一下SpringBoot在Coding上的使用場景。Coding中使用SpringBoot搭建的Email服務(wù)。
之所以選擇SpringBoot,原因就是更加輕量級。在往常的Spring項目中,依賴的庫太多,配置太繁雜,用在這只提供Email服務(wù)的程序上未免也小題大做了。而SpringBoot提供一些非功能性的常見的大型項目類特性(如內(nèi)嵌服務(wù)器、安全、度量、健康檢查、外部化配置)使得我們在部署上也更為方便,如可以直接地內(nèi)嵌Tomcat/Jetty(不需要單獨去部署war包)
1.Spring MVC和Spring Boot自帶的web構(gòu)建方式有所區(qū)別。Spring提供了spring-boot-starter-web自動配置模塊。
2. 添加如下依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
SpringBoot默認的錯誤頁面
Springboot默認的錯誤頁面是一個稱為whitelable error page,可以在我們的項目中新建如下這樣的一個Controller來實現(xiàn)錯誤頁面的映射
package com.artbrain.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * Created by Administrator on 2016/6/16. */ @Controller public class IndexController { @RequestMapping(value = "/") public String index() { return "Here, is a error page!"; } }
但是更一般的做法是注冊一個"/"的controller,代碼如下
在Application.java中重寫addViewControllers方法,注冊一個viewController
@Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/home").setViewName("home"); registry.addViewController("/").setViewName("home"); registry.addViewController("/profile").setViewName("profile"); }
項目結(jié)構(gòu)層面的約定
springboot內(nèi)嵌了一個tomcat,其項目結(jié)構(gòu)與傳統(tǒng)打包為war包的JavaWeb應(yīng)用有很大的不同,具體為靜態(tài)文件和頁面模板的存放位置變了,原來是放在src/main/webapp目錄下的一系列資源,現(xiàn)在都要求放在src/main/resources相應(yīng)的子目錄下面。具體體現(xiàn)為:
src/main/resources/static用于存放各種靜態(tài)資源,比如css,js等靜態(tài)資源
src/main/resources/templates用于存放模板文件,比如*.html
可供選擇的方式
如果想繼續(xù)使用war包的形式,可以保持原有的項目結(jié)構(gòu),不過SpringBoot使用的打包方式為'jar'
SpringMVC框架層面的約定和定制
spring-boot-starter-web默認自動配置了如下一些SpringMVC必要的組件:
必要的viewResolver,比如ContentNegotiatingViewResolver和BeanNameResolver。
將必要的Converter,GenericConverter和Formatter等bean注冊到IoC容器。
添加一系列的HttpMessageConverter以便支持對Web請求和相應(yīng)的類型轉(zhuǎn)換。
自動配置和注冊MessageCodesConverter
我們可以在任何時候注冊新的bean來替換SpringMVC的組件。
嵌入式Web容器層面的約定和定制
Spring-boot-starter-web默認使用嵌入式的tomcat作為web容器對外提供服務(wù),默認的使用tomcat的默認端口:8080,同時spring-boot-starter-web提供了以下可選配置:
替換tomcat服務(wù)器
引入spring-boot-starter-jetty或者spring-boot-starter-undertow作為替代方案
更改web容器的默認端口
更改配置選項為:server.port=9000(在springboot項目的application.properties文件中更改,下面的示例代碼中也給出了jdbc的配置方式)
spring.datasource.url=jdbc:mysql://localhost/spring_boot?autoReconnect=true spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver server.port=9000
springBoot提供了很多server.為前綴的配置項用戶對嵌入式web容器進行配置,比如:
server.port
server.address
server.ssh.*
server.tomcat.*
同時Spring也允許我們直接對嵌入式的web容器示例進行定制,可以通過IoC容器中注冊一個EmbeddedServletContainerCustomizer類型的組件來對嵌入式的web容器進行定制。
總結(jié)
以上就是本文關(guān)于SpringBoot快速構(gòu)建應(yīng)用程序方法介紹的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Spring Boot集成Druid數(shù)據(jù)庫連接池
這篇文章主要介紹了Spring Boot集成Druid數(shù)據(jù)庫連接池,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04SpringBoot處理JSON數(shù)據(jù)方法詳解
這篇文章主要介紹了SpringBoot整合Web開發(fā)中Json數(shù)據(jù)處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-10-10Jasypt的StandardPBEByteEncryptor使用源碼解析
這篇文章主要介紹了Jasypt的StandardPBEByteEncryptor使用源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09jackson 實體轉(zhuǎn)json 為NULL或者為空不參加序列化(實例講解)
下面小編就為大家?guī)硪黄猨ackson 實體轉(zhuǎn)json 為NULL或者為空不參加序列化(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10java多次嵌套循環(huán)查詢數(shù)據(jù)庫導(dǎo)致代碼中數(shù)據(jù)處理慢的解決
這篇文章主要介紹了java多次嵌套循環(huán)查詢數(shù)據(jù)庫導(dǎo)致代碼中數(shù)據(jù)處理慢的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03關(guān)于Feign調(diào)用服務(wù)Headers傳參問題
這篇文章主要介紹了關(guān)于Feign調(diào)用服務(wù)Headers傳參問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03