![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot
苍穹尘
文能提笔安天下,武能上"码"定乾坤。
展开
-
SpringBoot系列一:简介
简化spring应用开发的框架。优点: 1.快速创建独立运行的Spring先项目以及与主流框架集成 2. 使用嵌入式的Servlet容器,应用无需打成WAR包 3. starters自动依赖与版本控制 4. 大量的自动配置,简化开发,也可以修改默认值 5. 无需配置XML,无代码生成,开箱即用 6. 准生产环境的运行时应用监控 ...原创 2018-09-16 12:44:25 · 375 阅读 · 0 评论 -
SpringBoot系列十四:嵌入式Servlet容器
一、配置嵌入式Servlet容器SpringBoot默认使用Tomcat作为嵌入式的Servlet容器;1、定制和修改Servlet容器的相关配置(1)、修改和server有关的配置(ServerProperties【也是EmbeddedServletContainerCustomizer】)。server.port=8081server.context-path=/crudser...原创 2019-06-09 22:31:54 · 720 阅读 · 0 评论 -
SpringBoot系列二十一:启动配置原理
启动流程:1、创建SpringApplication对象private void initialize(Object[] sources) { //保存主配置类 if (sources != null && sources.length > 0) { this.sources.addAll(Arrays.asList(sources));...原创 2019-06-15 09:49:24 · 189 阅读 · 0 评论 -
SpringBoot系列二十二:自定义starter
1、编写自动配置@Configuration //指定这个类是一个配置类@ConditionalOnXXX //在指定条件成立的情况下自动配置类生效@AutoConfigureAfter //指定自动配置类的顺序@Bean //给容器中添加组件@ConfigurationPropertie结合相关xxxProperties类来绑定相关的配置@EnableConfigurati...原创 2019-06-15 10:56:34 · 141 阅读 · 0 评论 -
SpringBoot系列二十三:缓存
1、JSR107Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry。 CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。 CacheManager定义了创建、配置、获取、管理和控制多个唯...原创 2019-06-15 11:14:58 · 224 阅读 · 0 评论 -
SpringBoot系列二十六:消息队列
1、大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力。2、消息服务中两个重要概念: 消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目 的地。3、消息队列主要有两种形式的目的地: 队列(queue):点对点消息通信(point-to-point) 主题(topic):发布...原创 2019-06-15 12:27:57 · 300 阅读 · 0 评论 -
SpringBoot系列二十七:RabbitMQ简介
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。1、核心概念: Message 消息,消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组 成,这些属性包括routing-key(路由键)、priority(相对于其他消息的优先权)、delivery-mode(指出该消息可能需要...原创 2019-06-15 12:35:49 · 157 阅读 · 0 评论 -
SpringBoot系列二十八:整合RabbitMQ
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2、application.properties配置...原创 2019-06-15 12:49:48 · 280 阅读 · 0 评论 -
SpringBoot系列二十九:整合ElasticSearch
一、简介 ElasticSearch 可以快速的存储、搜索和分析海量数据。Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用 多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github 等大型的站点也是采用了ElasticSearch作为其搜索服务。 以员工文档的形式存储为例:一个文档代表一个员工数据。存储数...原创 2019-06-15 13:11:14 · 431 阅读 · 0 评论 -
SpringBoot系列三十:任务
一、异步任务 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在 处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用 多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完 美解决这个问题。两个注解: @EnableAysnc、@Aysnc1、添加 @EnableAysnc 注解,开启异步注解功能@EnableAsy...原创 2019-06-15 13:39:58 · 307 阅读 · 0 评论 -
SpringBoot系列三十一:整合SpringSecurity
SpringSecurity是针对Spring项目的安全框架,也是SpringBoot底层安全模 块默认的技术选型。他可以实现强大的web安全控制。1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star...原创 2019-06-15 13:50:43 · 201 阅读 · 0 评论 -
SpringBoot系列三十二:整合Actuator
使用Spring Boot为我们提供的准 生产环境下的应用监控和管理功能。我们可以通过HTTP,JMX,SSH协议来进 行操作,自动得到审计、健康及指标信息等。监控和管理端点:定制端点信息: 1、定制端点一般通过endpoints+端点名+属性名来设置。 2、修改端点id(endpoints.beans.id=mybeans) 3、开启远程应用关闭功能(endpoints.shutd...原创 2019-06-15 14:07:16 · 251 阅读 · 0 评论 -
SpringBoot系列十五:整合Swagger
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。1、引入依赖 <!--SpringBoot整合Swagger2--><dependency> <groupId&g...原创 2019-06-11 20:47:07 · 322 阅读 · 0 评论 -
SpringBoot系列十六:整合JDBC
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <g...原创 2019-06-11 21:07:58 · 378 阅读 · 0 评论 -
SpringBoot系列十九:整合Mybatis
1、引入依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version></dependenc...原创 2019-06-11 21:34:05 · 301 阅读 · 0 评论 -
SpringBoot系列二十:整合JPA
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>2、yml配置spring: data...原创 2019-06-11 21:42:26 · 223 阅读 · 0 评论 -
Docker发布SpringBoot项目
1、在idea中安装docker插件Docker integration2、linux中配置docker开启远程访问vim /usr/lib/systemd/system/docker.service#修改ExecStart这行ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock...原创 2019-06-28 12:12:51 · 327 阅读 · 0 评论 -
SpringBoot系列十三:错误处理
一、SpringBoot默认的错误处理机制默认效果:1、浏览器,返回一个默认的错误页面。2、如果是其他客户端,默认响应一个json数据。3、原理:可以参照ErrorMvcAutoConfiguration;错误处理的自动配置。给容器中添加了以下组件:(1)、DefaultErrorAttributes://帮我们在页面共享信息@Overridepublic Map<S...原创 2019-06-09 21:27:18 · 665 阅读 · 0 评论 -
SpringBoot系列十二:web开发
一、默认访问首页//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能//@EnableWebMvc 不要接管SpringMVC@Configurationpublic class MyMvcConfig extends WebMvcConfigurerAdapter { @Override public void addViewCo...原创 2019-06-09 19:37:00 · 232 阅读 · 0 评论 -
SpringBoot系列十一:SpringMVC自动配置
一、SpringMVC自动配置 SpringBoot 自动配置好了 SpringMVC。相应的配置都在 WebMvcAutoConfiguration 类中。官方网站:https://docs.spring.io/spring/docs/4.3.14.RELEASE/spring-framework-reference/htmlsingle#mvc。 以下是 SpringBoot 对 Sprin...原创 2019-06-09 18:38:27 · 1004 阅读 · 0 评论 -
SpringBoot系列二:入门
1、首先,idea创建maven项目。打开pom文件,添加依赖 2、编写spring boot应用启动类HelloWordApplication 3、编写Controller类HelloController 4、运行spring boot应用启动类HelloWordApplication中的main方法,启动应用 5、浏览器测试:http://localhost:8080/...原创 2018-09-16 12:59:44 · 268 阅读 · 0 评论 -
SpringBoot系列三:场景启动器
1、打开pom文件,可以看到他依赖别的项目spring-boot-starter-parent 2、spring-boot-starter-paren的父项目spring-boot-dependencies 3、spring-boot-dependencies真正的管理Spring Boot应用里面的所有依赖版本,spring-boot- dependencies管理的依赖不...原创 2018-09-16 18:51:27 · 2580 阅读 · 0 评论 -
SpringBoot系列四:自动配置
@SpringBootApplication注解: @SpringBootConfiguration:标注在类上,表示这是一个Spring Boot的配置类 @EnableAutoConfiguration:开启自动配置功能。 @AutoConfigurationPackage:自动配置包 @Import({Regis...原创 2018-09-16 19:50:42 · 1250 阅读 · 0 评论 -
MockMvc 单元测试
MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。 MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现:StandaloneMockMvcBuilder和DefaultMockMvcBuilder,分别对应两种测试...原创 2019-05-06 11:32:38 · 613 阅读 · 0 评论 -
微服务架构和SOA架构
一、简介: 首先SOA和微服务架构是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1、SOA(Service Oriented Architecture)面向服务的架构:他是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在与操作系统进程中。各个服务之间通过网络调用。 2、微服务架构:其实和 SOA 架构类似,微服...原创 2019-05-06 12:24:14 · 3049 阅读 · 3 评论 -
SpringBoot系列二十四:整合Redis
1、pom引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency>...原创 2019-05-24 20:47:13 · 665 阅读 · 0 评论 -
SpringBoot系列二十五:整合Jedis
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <!--<artifactId>spring-boot-starter-redis</artifactId>--> <artifactId>spring-boot-starter-d...原创 2019-05-26 10:18:22 · 5508 阅读 · 1 评论 -
SpringBoot系列十七:整合Druid
Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目。Druid支持所有JDBC兼容数据库,包括了Oracle、MySQL、PostgreSQL、SQL Server、H2等。Druid在监控、可扩展性、稳定性和性能方面具有明显的优势。通过Druid提供的监控功能,可以实时观察数据库连接池和SQL查询的工作情况。使用Druid连接池在一定程度上可以提高数据访问效率。1、引入依赖&l...原创 2019-05-26 10:31:08 · 460 阅读 · 1 评论 -
SpringBoot系列十八:整合Hikari
Hikari是一款非常强大,高效,并且号称“史上最快连接池”。并且在springboot2.0之后,采用的默认数据库连接池就是Hikari。不需要引入依赖,已经在SpringBoot中包含了。 GitHub地址:https://github.com/brettwooldridge/HikariCP1、在yml中配置# 数据库配置spring: datasource: type: ...原创 2019-05-26 10:50:10 · 89168 阅读 · 6 评论 -
SpringBoot系列五:配置文件
SpringBoot使用一个全局的配置文件,配置文件名是固定的;application.properties 和 application.yml。配制文件的作用是用来修改SpringBoot自动配置的默认值;配置文件放在 src/main/resources 目录或者 类路径/config 下。一、yamlYAML(YAML Ain’t Markup Language),以数据为中心,比js...原创 2019-06-08 15:49:33 · 431 阅读 · 0 评论 -
SpringBoot系列六:配置文件加载
一、配置文件加载位置 SpringBoot启动时会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件。 file:./config/ file:./ classpath:/config/ classpath:/优先级由高到底,高优先级的配置会覆盖低优先级的配置;SpringBoot会从这四个位置加载主配...原创 2019-06-08 20:33:33 · 1340 阅读 · 0 评论 -
SpringBoot系列七:自动配置原理
配置文件能配置的属性参照官网:https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties一、自动配置原理1、SpringBoot启动的时候加载主配置类,使用注解 @EnableAutoConfiguration 开启了自动配置功能。2、@E...原创 2019-06-09 10:36:58 · 267 阅读 · 0 评论 -
SpringBoot系列八:日志框架
日志框架是用来记录系统的一些运行时信息。日志框架像JDBC与数据库驱动之间的关系一样,也有一个日志门面 (日志的抽象层)和日志的实现层。SLF4j、Log4j 和 Logback 出自一人,Logback 是 Log4j 的升级版本。log4j2 是 Apache 推出的一个优秀的日志框架,但好多框架都还没有适配起来。SpringBoot选用 SLF4j(日志的抽象层)和logback(日...原创 2019-06-09 12:46:59 · 354 阅读 · 0 评论 -
SpringBoot系列九:静态资源
静态资源的映射规则。在SpringBoot项目中mvc的相关配置都在 WebMvcAutoConfiguration 中。@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties implements ResourceLoad...原创 2019-06-09 13:27:14 · 200 阅读 · 0 评论 -
SpringBoot系列十:Thymeleaf
SpringBoot 推荐的 thymeleaf 模板引擎,语法更简单,功能更强大;一、引入 thymeleaf 依赖<!-- 切换thymeleaf版本 --><properties> <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version> <!-- 布局功能的支持程序。 thyme...原创 2019-06-09 14:08:47 · 235 阅读 · 0 评论 -
SpringBoot集成redis实现session共享
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <gro...原创 2019-06-28 14:18:21 · 312 阅读 · 0 评论