SpringBoot 特点
1.创建独立的Spring应用程序
2.嵌入Tomcat,无需部署war文件
3.简化Maven配置
4.自动配置Spring
5.提供生产就绪型功能,如指标,健康检查和外部配置
6.绝对没有代码生成并且对XML也没有配置要求
a.化繁为简,简化配置。
b.备受关注,是下一代框架。
c.微服务的入门级框架
微服务是当下比较流行的架构,spring为微服务提供了一整套组建,称为SpringCloud,springcloud是建立在Spring Boot的基础之上的。
d.使编码变得简单,使配置变得简单,使部署变得简单,使监控变得简单。
优点
1.快速创建独立运行的spring项目与主流框架集成
2.使用嵌入式的servlet容器,应用无需打包成war包
3.starters自动依赖与版本控制
4.大量的自动化配置,简化开发,也可以修改默认值
5.准生产环境的运行监控
6.与云计算的天然集成
常用的Starter
spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持
spring-boot-starter-data-jpa 数据库支持
spring-boot-starter-data-redis redis数据库支持
spring-boot-starter-data-solr solr支持
mybatis-spring-boot-starter 第三方mybatis集成starter
Spring-boot的核心配置文件
Spring Boot有两种类型的配置文件,application和bootstrap文件。
Spring Boot会自动加载classpath目录下的这两个文件,文件格式为properties或者yml格式。
*.properties文件 key=value的形式
*.yml是key:value的形式
*.yml的加载的属性是有顺序的,但不支持@PropertySource注解来导入配置,一般推荐用yml文件,看下来更加形象。
1.application配置文件
application配置文件是应用级别的,是当前应用的配置文件。
2.bootstrap配置文件
bootstrap配置文件是系统级别的,用来加载外部配置,如配置中心的配置信息,也可以用来定义系统不会变化的属性。
bootstrap文件的加载先于application文件。
运行spring boot 的方式
1.打包用命令或者放到容器中运行
2.用Maven/Gradle插件运行
3.直接执行main方法运行
Spring Boot 自动化配置原理
在spring程序main方法中添加@SpringBootApplication或者@EnableAutoConfiguration
会自动去maven中读取每个starter中的spring.factories文件 该文件里配置了所有需要被创建spring容器中的bean
如何实现Spring Boot应用程序的安全性
为了实现Spring Boot的安全性,我们使用spring-boot-starter-security依赖项,并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展WebSecurityConfigurerAdater并覆盖其方法。
如何使用Spring Boot实现分页和排序
使用Spring Boot实现分页非常简单。使用Spring Data-JPA可以实现将可分页的ora.springframework.data.domain.Pageabe传递给储存库方法。
如何用Spring Boot 实现Swagger
Swagger广泛用于可视化API,使用Swagger UI前端开发人员提供在线沙箱。Swagger是用于生成RESTful Web服务的可视化表示的工具,规范和完整框架实现。它使文档能够以与服务器相同的速度更新。通过Swagger正确定义时,消费者可以使用最少量的实现逻辑来理解远程服务并与其进行交互。因此,Swagger消除了调用服务时的猜测
如何在Spring Boot 中禁用Actuator端点安全性
默认情况下,所有敏感的http端点都是安全的,只有具有ACTUATOR角色的用户才能访问他们。
安全性是使用标准的HttpServletRequest.isUserInRole方法实施的。
我们可以使用management.security.enabled=false来禁用安全性。
只有在执行机构端点在防火墙后访问时,才建议禁用安全性。
Spring Boot中的监视器是什么
Spring boot actuator是spring启动框架中的重要功能之一。Spring boot监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。
有几个指标必须在生产环境中进行检查和监控。即使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。
监视器模块公开了一组可直接作为HTTP URL访问的REST端点来检查状态。