首先介紹一下SpringBoot在Coding上的使用場景。Coding中使用SpringBoot搭建的Email服務(wù)。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了下冶免費建站歡迎大家使用!
之所以選擇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. 添加如下依賴
org.springframework.boot spring-boot-starter-web
SpringBoot默認(rèn)的錯誤頁面
Springboot默認(rèn)的錯誤頁面是一個稱為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默認(rèn)自動配置了如下一些SpringMVC必要的組件:
必要的viewResolver,比如ContentNegotiatingViewResolver和BeanNameResolver。
將必要的Converter,GenericConverter和Formatter等bean注冊到IoC容器。
添加一系列的HttpMessageConverter以便支持對Web請求和相應(yīng)的類型轉(zhuǎn)換。
自動配置和注冊MessageCodesConverter
我們可以在任何時候注冊新的bean來替換SpringMVC的組件。
嵌入式Web容器層面的約定和定制
Spring-boot-starter-web默認(rèn)使用嵌入式的tomcat作為web容器對外提供服務(wù),默認(rèn)的使用tomcat的默認(rèn)端口:8080,同時spring-boot-starter-web提供了以下可選配置:
替換tomcat服務(wù)器
引入spring-boot-starter-jetty或者spring-boot-starter-undertow作為替代方案
更改web容器的默認(rèn)端口
更改配置選項為: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容器進(jìn)行配置,比如:
server.port
server.address
server.ssh.*
server.tomcat.*
同時Spring也允許我們直接對嵌入式的web容器示例進(jìn)行定制,可以通過IoC容器中注冊一個EmbeddedServletContainerCustomizer類型的組件來對嵌入式的web容器進(jìn)行定制。
總結(jié)
以上就是本文關(guān)于SpringBoot快速構(gòu)建應(yīng)用程序方法介紹的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!