使用SpringBoot快速构建应用程序
1.Spring MVC
和Spring Boot
自带的web
构建方式有所区别。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
来实现错误页面的映射
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");
}
项目结构层面的约定
spring boot
内嵌了一个tomcat
,其项目结构与传统打包为war
包的Java Web
应用有很大的不同,具体为静态文件和页面模板的存放位置变了,原来是放在src/main/webapp
目录下的一系列资源,现在都要求放在src/main/resources
相应的子目录下面。具体体现为:src/main/resources/static
用于存放各种静态资源,比如css,js
等静态资源src/main/resources/templates
用于存放模板文件,比如*.html
可供选择的方式
如果想继续使用war包的形式,可以保持原有的项目结构,不过Spring Boot
使用的打包方式为'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(在spring boot项目的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容器进行定制。
使用SpringBoot快速构建应用程序的更多相关文章
- SpringBoot 快速构建微服务体系 知识点总结
可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...
- 快速构建CLI程序并发布到PyPi
构造一个简单的CLI程序 typer 这个从去年就被各种营销号吹成Web框架的 第三方库, 与 FastAPI 同出一人之手,它不是Web框架,它是一个用来构建CLI程序的库,我们就简单搞个例子 # ...
- 基于Swagger+SpringBoot快速构建javaweb项目
章节导航 SpringBoot&Swagger简介 数据模型和接口定义 项目框架生成 业务逻辑实现 项目源码地址 github项目路径:https://github.com/Vikezhu/s ...
- Springboot(一)springboot简介与入门程序
一.springboot简介: 对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分. 之前传统的模式都是以application ...
- 【spring-boot】快速构建spring-boot微框架
spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...
- springboot:快速构建一个springboot项目
前言: springboot作为springcloud的基础,springboot的热度一直很高,所以就有了这个springboot系列,花些时间来了解和学习为自己做技术储备,以备不时之需[手动滑稽] ...
- SpringBoot系列——快速构建项目
前言 springboot官方参考指南:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/ Spri ...
- 一、快速构建Springboot应用
1.基本概念 Spring的出现对于企业级应用来说是一个福音,它让企业级应用开发更加地简单.但是随着Spring的不断发展,它也慢慢变得越来越重.即使apache出品的maven工具能够使得项目创建. ...
- 快速构建一个 Springboot
快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...
随机推荐
- 手机自动化测试:Appium源码分析之跟踪代码分析五
手机自动化测试:Appium源码分析之跟踪代码分析五 手机自动化测试是未来很重要的测试技术,作为一名测试人员应该熟练掌握,POPTEST举行手机自动化测试的课程,希望可以训练出优秀的手机测试开发工 ...
- 【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势
引言: 写前端UI的朋友们也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐藏一个可能过长的文本: 这个文本可能是单行的: 也可能是多行的: 下面我就给大家展示如何简单或 ...
- 浩哥解析MyBatis源码(十一)——Parsing解析模块之通用标记解析器(GenericTokenParser)与标记处理器(TokenHandler)
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6724223.html 1.回顾 上面的几篇解析了类型模块,在MyBatis中类型模块包含的 ...
- node express安装
我们现在全局安装只需要安装这个命令行工具就可以,指令如下: npm install -g express-generator 这时我们就着手安装express框架,指令如下: express blog ...
- phpcms基础
CSM基础(做中小型企业网站) 做一个企业站,三个页面比较重要1.首页2.列表页3.内容页 做企业站的流程:1.由美工出一张,设计效果图2.将设计图静态化3.开始安装CMS4.强模板文件放到CSM里面 ...
- Python全栈之路-Day33
1 time模块 #!/usr/bin/env python # __Author__: "wanyongzhen" # Date: 2017/4/7 import time # ...
- rapidPHP 下载并安装
安装 rapidPHP对运行环境的要求 php 5.4以上,包括5.4,支持php7,依赖包,php-curl,php-mysql,php-gd 官网下载 http://rapidphp.gx521. ...
- xmlplus 组件设计系列之六 - 下拉刷新
"下拉刷新"由著名设计师 Loren Brichter 设计,并应用于 Twitter 第三方应用 Tweetie 中.2010年4月,Twitter 收购 Tweetie 开发商 ...
- 用Pyton玩转数据练习题---第二周
找前5个默尼森数.P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数.例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数. # coding:utf-8 im ...
- C专家编程阅读笔记
周末闲来无事,(哗),好久之前买的C专家编程一直没看,翻起来看了一下 尽量不使用unsigned 尽量不要在代码中使用unsigned,尤其是一些看起来是无符号类型的数字,比如年龄等,因为难免要使用u ...