首先介绍一下SpringBoot在Coding上的使用场景。Coding中使用SpringBoot搭建的Email服务。
之所以选择SpringBoot,原因就是更加轻量级。在往常的Spring项目中,依赖的库太多,配置太繁杂,用在这只提供Email服务的程序上未免也小题大做了。而SpringBoot提供一些非功能性的常见的大型项目类特性(如内嵌服务器、安全、度量、健康检查、外部化配置)使得我们在部署上也更为方便,如可以直接地内嵌Tomcat/Jetty(不需要单独去部署war包)
1.Spring MVC和Spring Boot自带的web构建方式有所区别。Spring提供了spring-boot-starter-web自动配置模块。
2. 添加如下依赖
org.springframework.boot spring-boot-starter-web
SpringBoot默认的错误页面
Springboot默认的错误页面是一个称为whitelable error page,可以在我们的项目中新建如下这样的一个Controller来实现错误页面的映射
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"); }
项目结构层面的约定
springboot内嵌了一个tomcat,其项目结构与传统打包为war包的JavaWeb应用有很大的不同,具体为静态文件和页面模板的存放位置变了,原来是放在src/main/webapp目录下的一系列资源,现在都要求放在src/main/resources相应的子目录下面。具体体现为:
src/main/resources/static用于存放各种静态资源,比如css,js等静态资源
src/main/resources/templates用于存放模板文件,比如*.html
可供选择的方式
如果想继续使用war包的形式,可以保持原有的项目结构,不过SpringBoot使用的打包方式为'jar'
SpringMVC框架层面的约定和定制
spring-boot-starter-web默认自动配置了如下一些SpringMVC必要的组件:
必要的viewResolver,比如ContentNegotiatingViewResolver和BeanNameResolver。
将必要的Converter,GenericConverter和Formatter等bean注册到IoC容器。
添加一系列的HttpMessageConverter以便支持对Web请求和相应的类型转换。
自动配置和注册MessageCodesConverter
我们可以在任何时候注册新的bean来替换SpringMVC的组件。
嵌入式Web容器层面的约定和定制
Spring-boot-starter-web默认使用嵌入式的tomcat作为web容器对外提供服务,默认的使用tomcat的默认端口:8080,同时spring-boot-starter-web提供了以下可选配置:
替换tomcat服务器
引入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容器进行定制。
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整