1、为什么要推出springboot

springboot设计的目的是用来简化新spring应用的初始搭建以及开发过程。springboot遵循“约定优于配置”原则。

2、springboot默认的配置文件application.properties

3、日志依赖模块spring-boot-starter-logging,自动使用的是logback作为项目的日志框架

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<!--使用log4j2,还需要一些配置,参考logback.xml在application.properties中的应用-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

4、Web开发依赖模块spring-boot-starter-web

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
一些约定:
1》项目结构层面的约定
静态文件和页面统一放在src/main/resources对应的子目录下。src/main/resources/static用于放置静态资源文件,如css、js、images等;src/main/resources/templates
目录用于放置页面模板文件,如html、jsp等。
2》springMVC框架层面的约定
spring-boot-starter-web依赖模块默认自动配置一些springMVC必要的组件:
1>将ViewResolver自动注册到spring容器
2>将Converter和Formatter等bean自动注册到spring容器。
3>将对Web请求的支持和相应的类型转换的HttpMessageConverter自动注册到spring容器。
4>将MessageCodesResolver自动注册到spring容器。
3》嵌入式Web容器层面的约定
spring-boot-starter-web依赖模块默认使用嵌入式Tomcat作为Web容器对外提供服务,默认使用8080端口对外监听和提供服务。如果不想使用默认的嵌入式Tomcat,可以引入jetty
或者undertow作为替代方案。
如果不想使用默认的8080端口,可以通过application.properties配置文件中的server.port使用自己制定的端口。如:server.port=8088
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
或者
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

5、修改 maven项目默认创建的项目jre不是用户环境变量中配置的jre

<!--修改maven的settings.xml文件,找到profiles节点-->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

6、构建springboot应用,设置<parent.../>。

pom.xml必须设置<parent.../>元素设置为springboot的spring-boot-starter-parent,spring-boot-starter-parent是springboot的核心启动器,包含了自动配置(如starter-web的版本选择等)、日志和YAML等大量默认的配置,大大简化了开发工作。

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>

springboot - 应用实践(1)认识springboot的更多相关文章

  1. springboot - 应用实践(3)springboot的核心

    1.springboot的启动类与核心注解@SpringBootApplication 2.springboot基本配置 3.springboot自动配置原理

  2. springboot(十一)-为什么要用springboot

    前言 学习了一段时间springboot,一般都可以在项目中使用springboot开发了.因为springboot的东西并不多,或者说,springboot根本就没有新东西. 好了,现在问一句,我们 ...

  3. SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问

    SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问 https://blog.csdn.net/yft_android/article/details/80307672

  4. SpringBoot自定义错误信息,SpringBoot适配Ajax请求

    SpringBoot自定义错误信息,SpringBoot自定义异常处理类, SpringBoot异常结果处理适配页面及Ajax请求, SpringBoot适配Ajax请求 ============== ...

  5. SpringBoot自定义错误页面,SpringBoot 404、500错误提示页面

    SpringBoot自定义错误页面,SpringBoot 404.500错误提示页面 SpringBoot 4xx.html.5xx.html错误提示页面 ====================== ...

  6. SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器

    SpringBoot切换Tomcat容器, SpringBoot修改为Jetty容器, SpringBoot使用undertow容器, SpringBoot使用Jetty容器 ============ ...

  7. SpringBoot源码分析之SpringBoot的启动过程

    SpringBoot源码分析之SpringBoot的启动过程 发表于 2017-04-30   |   分类于 springboot  |   0 Comments  |   阅读次数 SpringB ...

  8. springboot项目--传入参数校验-----SpringBoot开发详解(五)--Controller接收参数以及参数校验----https://blog.csdn.net/qq_31001665/article/details/71075743

    https://blog.csdn.net/qq_31001665/article/details/71075743 springboot项目--传入参数校验-----SpringBoot开发详解(五 ...

  9. 【spring-boot 源码解析】spring-boot 依赖管理

    关键词:spring-boot 依赖管理.spring-boot-dependencies.spring-boot-parent 问题 maven 工程,依赖管理是非常基本又非常重要的功能,现在的工程 ...

  10. SpringBoot源码分析之---SpringBoot项目启动类SpringApplication浅析

    源码版本说明 本文源码采用版本为SpringBoot 2.1.0BUILD,对应的SpringFramework 5.1.0.RC1 注意:本文只是从整体上梳理流程,不做具体深入分析 SpringBo ...

随机推荐

  1. 单元测试 Junit

  2. CF D. Number Of Permutations 排列

    挺水的一道题~ 拿全排列随便乘一下就好了. #include <cstdio> #include <algorithm> #define N 300004 #define ll ...

  3. 【CF521C】Pluses everywhere(贡献)

    题意:有一个长为n的数字字符串,要求其中插入k个加号,求所有合法表达式的和之和 0<=k<n<=1e5 思路:参考官方题解,讲的很好很清楚 字符串下标从0开始 考虑第i位d[i]的贡 ...

  4. TopCoder SRM 667 Div.2题解

    概览: T1 枚举 T2 状压DP T3 DP TopCoder SRM 667 Div.2 T1 解题思路 由于数据范围很小,所以直接枚举所有点,判断是否可行.时间复杂度O(δX × δY),空间复 ...

  5. CentOS版本禁用Ctrl+Alt+Del重启功能

    1  禁用Ctrl+Alt+Del重启功能(不重启系统的前提条件) 1.1  CentOS 6 ##查看/etc/inittab确认Ctrl+Alt+Del相关配置文件 cat /etc/initta ...

  6. js多种方法取数组的最后一个元素

    一: pop()方法 pop()方法,删除数组最后一个并返回该元素 利用这个方法可以取到数组的最后一个,同理shift()可以取到数组的第一个(shift()删除数组第一个并返回该元素) var ar ...

  7. Unity3D_(游戏)控制物体的上、下、左、右移动

    通过键盘上↑.↓.←.→实现对物体的控制 using System.Collections; using System.Collections.Generic; using UnityEngine; ...

  8. String、toString、String.valueOf()三个有啥区别?

    今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧.我也在网上找了一些资料看.自己也看了API文档,就将他们三的区别总结一下 ...

  9. eclipse中把选中的代码全部变成大写或者小写的快捷键

    Ctrl+shift+x是把选中的变成大写 Ctrl+shift+y是把选中的变成小写

  10. C++入门经典-例3.13-不加break的switch判断语句

    1:不加break,会依次运行下面的语句,代码如下: // 3.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include &l ...