一、spring boot介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、常量数据等。
SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
SpringBoot最明显的特点是,让文件配置变的相当简单、让应用部署变的简单(SpringBoot内置服务器,并装备启动类代码),可以快速开启一个Web容器进行开发。
Spring Boot的核心功能
1、 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。
2、 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。
3、 简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。
4、 自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。
5、 提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
6、 无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。
二、spring boot工程搭建
首先在创建项目的时候选择 Spring Initializr,如图:
然后点击 Next,填入 Maven 项目的基本信息,如下:
再选择需要的依赖:
勾选完成之后,点击 Next 完成项目的创建
三、controller的使用
1)返回视图
1.@Controller
2.thymeleaf依赖
3.html页面
1)thymeleaf的声明
2)th:* 获取值
3)测试类
注意:
a.spring boot默认支持的是thymeleaf模板引擎
b.https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html
2)返回json数据
1.@RestController
2.将controller返回值序列化为json字符串然后输出到页面
3)lombok插件使用
1. 安装插件:
https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html
2. 加入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
4)常见问题:
1)web的controller必须放到启动类的所在的包,默认只会扫描启动所在的包及其子包
四、配置文件
1)配置文件读取顺序
1)命令行
java -jar ndspringboot-base01-0.0.1-SNAPSHOT.jar --server.port=8082
2)java:comp/env 里的 JNDI 属性
3)JVM 系统属性
4)操作系统环境变量
5)RandomValuePropertySource 属性类生成的 random.* 属性
6)应用以外的 application.properties(或 yml)文件
7)打包在应用内的 application.properties(或 yml)文件
8)在应用 @Configuration 配置类中,用 @PropertySource 注解声明的属性文件
9)SpringApplication.setDefaultProperties 声明的默认属性
2)application.propreties(yml)读取配置
1)官方的默认配置
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
2)自定义属性配置
student.name=kate
3)读取properties配置文件自定义的配置数据
1)@Value("${key}") 单个注入自定已配置项
2)@ConfigurationProperties(prefix = "student") 批量加载自定义配置项目
3)中文配置有乱码
4)读取yml配置文件自定义的配置数据(推荐)
1)@Value("${key}") 单个注入自定已配置项
2)@ConfigurationProperties(prefix = "student") 批量加载自定义配置项目
3)中文配置没有乱码
原文:https://www.cnblogs.com/1372841965ZQ/p/14263751.html