1.Spring MVCSpring Boot自带的web构建方式有所区别。Spring提供了spring-boot-starter-web自动配置模块。

2. 添加如下依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
  1. 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");
}
  1. 项目结构层面的约定

    spring boot内嵌了一个tomcat,其项目结构与传统打包为war包的Java Web应用有很大的不同,具体为静态文件和页面模板的存放位置变了,原来是放在src/main/webapp目录下的一系列资源,现在都要求放在src/main/resources相应的子目录下面。具体体现为:

    1. src/main/resources/static 用于存放各种静态资源,比如css,js等静态资源
    2. src/main/resources/templates用于存放模板文件,比如*.html
  2. 可供选择的方式

    如果想继续使用war包的形式,可以保持原有的项目结构,不过Spring Boot使用的打包方式为'jar'

  3. SpringMVC框架层面的约定和定制

    spring-boot-starter-web默认自动配置了如下一些SpringMVC必要的组件:

    1. 必要的viewResolver,比如ContentNegotiatingViewResolver和BeanNameResolver。
    2. 将必要的Converter,GenericConverter和Formatter等bean注册到IoC容器。
    3. 添加一系列的HttpMessageConverter以便支持对Web请求和相应的类型转换。
    4. 自动配置和注册MessageCodesConverter

      我们可以在任何时候注册新的bean来替换SpringMVC的组件。
  4. 嵌入式Web容器层面的约定和定制

    Spring-boot-starter-web默认使用嵌入式的tomcat作为web容器对外提供服务,默认的使用tomcat的默认端口:8080,同时spring-boot-starter-web 提供了以下可选配置:

    1. 替换tomcat服务器

      引入spring-boot-starter-jetty或者spring-boot-starter-undertow作为替代方案
    2. 更改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容器进行配置,比如:

  1. server.port
  2. server.address
  3. server.ssh.*
  4. server.tomcat.*

同时Spring也允许我们直接对嵌入式的web容器示例进行定制,可以通过IoC容器中注册一个EmbeddedServletContainerCustomizer类型的组件来对嵌入式的web容器进行定制。

使用SpringBoot快速构建应用程序的更多相关文章

  1. SpringBoot 快速构建微服务体系 知识点总结

    可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...

  2. 快速构建CLI程序并发布到PyPi

    构造一个简单的CLI程序 typer 这个从去年就被各种营销号吹成Web框架的 第三方库, 与 FastAPI 同出一人之手,它不是Web框架,它是一个用来构建CLI程序的库,我们就简单搞个例子 # ...

  3. 基于Swagger+SpringBoot快速构建javaweb项目

    章节导航 SpringBoot&Swagger简介 数据模型和接口定义 项目框架生成 业务逻辑实现 项目源码地址 github项目路径:https://github.com/Vikezhu/s ...

  4. Springboot(一)springboot简介与入门程序

    一.springboot简介: 对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分. 之前传统的模式都是以application ...

  5. 【spring-boot】快速构建spring-boot微框架

    spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...

  6. springboot:快速构建一个springboot项目

    前言: springboot作为springcloud的基础,springboot的热度一直很高,所以就有了这个springboot系列,花些时间来了解和学习为自己做技术储备,以备不时之需[手动滑稽] ...

  7. SpringBoot系列——快速构建项目

    前言 springboot官方参考指南:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/ Spri ...

  8. 一、快速构建Springboot应用

    1.基本概念 Spring的出现对于企业级应用来说是一个福音,它让企业级应用开发更加地简单.但是随着Spring的不断发展,它也慢慢变得越来越重.即使apache出品的maven工具能够使得项目创建. ...

  9. 快速构建一个 Springboot

    快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...

随机推荐

  1. PAT乙级练习1001

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  2. jq轮播图插件

    /* * 使用说明  *    *   1:需要提供一个标签   *   2:lis:图片的个数 *   3:轮播图的大小 width ,height *   4:图片的地址imgs[0].carou ...

  3. tomcat配置管理员-走后门

    在Tomcat中,应用程序的部署很简单,只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压.在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为To ...

  4. 老李教你性能测试监控工具nmon

    老李教你性能测试监控工具nmon   loadrunner的某些性能监控器不够强大,这就需要我们利用更好的工具进行监控,在项目中我们会用nmon工具作为辅助性能监控的工具,帮助我们进行性能分析,pop ...

  5. 基于 Spring MVC 的开源测试用例管理系统以及开发自测的实践

    早前公司领导提出让开发自测,测试么也做做开发.当然了,为了保证自测质量,测试用例仍需测试提供,所以为了提高开发自测的效率和质量,我们开发了捉虫记.捉虫记是一个完整的Spring MVC项目,现已开源, ...

  6. [转]centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html CentOS7上安装Rabbit ...

  7. 聊天界面使用IQKeyboardManager导航栏及整个页面上移的解决方法

    问题: 使用第三方库IQKeyboardManager时会使整个页面上移,导航栏页偏移出了显示范围.在聊天界面就会使得上面的消息看不到. 解决方法: 首先说明:在聊天界面使用IQKeyboardMan ...

  8. filter滤镜的使用

    刚开始学css,开始遇到filter不懂什么意思后来到网上查了,觉得解释的很全面,就把它抠下来,以便自己经常来看看. CSS滤镜的使用方法:filter:filtername(parameters) ...

  9. Tensorflow学习笔记---0--TensorBoard

    运行mnist_with_summaries学习TensorBoard时,由于需要GPU支持,运行窗口报错:Couldn't open CUDA library cupti64_80.dll 解决办法 ...

  10. 实现简单的跨站脚本攻击(XSS)

    我们来通俗的了解一下什么是跨站脚本攻击(XSS):在表单中提交 一段 js代码 ,提交的内容被展示到页面时 ,js会被浏览器解析 打个比方吧,比如我现在写的这篇博客,写完以后我要发表对吧? 发表这个过 ...