Spring Boot技术
深入浅出Spring Boot
caychen
码云:https://gitee.com/caychen/
github:https://github.com/caychen
展开
-
【Spring Boot】(33)、SpringBoot事务管理@Transactional注解原理
1、依赖包1.1、 SpringBoot中的依赖包众所周知,在SpringBoot中凡是需要跟数据库打交道的,基本上都要显式或者隐式添加jdbc的依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifa原创 2018-10-24 16:18:19 · 7934 阅读 · 2 评论 -
【Spring Boot】(32)、SpringBoot集成AOP
1、添加pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId&原创 2018-10-19 12:20:36 · 2846 阅读 · 1 评论 -
【Spring Boot】(31)、使用SpringBoot发送mail邮件
1、前言发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息。正常我们会用JavaMail相关api来写发送邮件的相关代码,但现在springboot提供了一套更简易使用的封装。 2、Mail依赖<dependency> <groupId>org.springframework.boot</groupId>...原创 2018-09-28 17:58:29 · 64666 阅读 · 5 评论 -
【Spring Boot】(30)、SpringBoot整合RabbitMQ
1、安装1.1、Erlang:Erlang下载地址,下载后安装即可。1.2、RabbitMQ安装RabbitMQ下载地址,下载后安装即可。注意:Erlang的版本要与RabbitMQ版本需要匹配才行。RabbitMQ Minimum required Erlang/OTP Maximum supported Erlang/OTP 3.7.x 19.3...原创 2018-09-18 10:33:56 · 3840 阅读 · 1 评论 -
【Spring Boot】(29)、SpringBoot整合Mybatis源码分析
在【Spring Boot】(23)、Spring Boot整合Mybatis的章节中讲述了SpringBoot整合Mybatis的过程,以及一些配置说明,这节主要讲解一下整合的源码。废话不多说,直接进入今天的主题。阅读过我之前写的文章的童靴,肯定知道SpringBoot整合第三方技术的时候,都会有一个xxxAutoConfiguration的自动配置类,咱们来一起找找看。其实在项目整合M...原创 2018-09-13 15:37:04 · 2348 阅读 · 2 评论 -
【Spring Boot】(28)、Spring Boot中spring-data-jpa自动配置源码分析
在上一节中,我们简单的讲述了jpa的查询语法和使用教程,而这一节咱们来看看Spring Boot中对jpa是如何进行自动配置的。 在Spring Boot自动配置的时候,一旦引入spring-boot-starter-data-jpa,就会完成JpaRepositoriesAutoConfiguration的自动配置。 JpaRepositoriesAutoConfig...原创 2018-04-28 21:45:59 · 1717 阅读 · 0 评论 -
【Spring Boot】(27)、Spring Boot使用spring-data-jpa快速访问数据库
一、JPA Spring Data JPA 是Spring Data 的一个子项目,它通过提供基于JPA的Repository极大了减少了操作JPA的代码。Spring Data JPA旨在通过减少实际需要的数量来显着提高数据访问层的实现。 在Spring环境中需要配置大量的XML配置,但是SpringBoot基本上帮助我们配置好了,我们只需要简单地配置一下DataSource和...原创 2018-04-28 21:43:10 · 1268 阅读 · 0 评论 -
【Spring Boot】(26)、Spring Boot使用Swagger2生成API文档
一、Swagger2概念Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从...原创 2018-04-28 21:38:52 · 504 阅读 · 0 评论 -
【Spring Boot】(25)、Spring Boot使用Schedule任务调度
1、Spring中的定时任务1.1、使用xml形式任务类MyScheduler:public class MyScheduler { public void print(){ System.out.println("MyScheduler:" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd...原创 2018-05-05 08:50:30 · 3122 阅读 · 0 评论 -
【Spring Boot】(24)、Spring Boot中使用缓存之Spring缓存
1、缓存依赖只要添加如下依赖,即可使用缓存功能。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>2、缓存注解@Enab...原创 2018-05-26 20:53:57 · 1197 阅读 · 0 评论 -
【Spring Boot】(23)、Spring Boot整合Mybatis
首先添加mybatis依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version>原创 2018-05-26 17:35:44 · 797 阅读 · 1 评论 -
【Spring Boot】(22)、Spring Boot启动配置原理
启动配置原理重要的事件回调机制:ApplicationContextInitializerSpringApplicationRunListenerApplicationRunnerCommandLineRunner前两者需要配置在META-INF/spring.factories中,而后两者只需要放在ioc容器中。启动流程1、创建SpringApplication对象:SpringApplicat...原创 2018-05-19 22:54:25 · 394 阅读 · 0 评论 -
【Spring Boot】(21)、Spring Boot使用外置的Servlet容器
嵌入式Servlet容器: 优点:简单,便携; 缺点:默认不支持jsp,优化定制比较复杂;使用外置Servlet容器的步骤: 1)、必须创建一个war项目,需要建立好web项目的目录结构,特别是webapp/WEB-INF/web.xml; 2)、嵌入式的Tomcat依赖的scope指定为provided;<dependency> <groupId>org....原创 2018-05-17 16:12:11 · 1688 阅读 · 1 评论 -
【Spring Boot】(20)、Spring Boot嵌入式Servlet容器启动原理
过程&原理: 1)、Spring Boot应用启动运行run方法:public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext...原创 2018-05-17 15:48:58 · 1137 阅读 · 1 评论 -
【Spring Boot】(19)、Spring Boot嵌入式Servlet容器自动配置原理
其中EmbeddedServletContainerAutoConfiguration是嵌入式Servlet容器的自动配置类,该类在spring-boot-autoconfigure-xxx.jar中的web模块可以找到。@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Configuration@ConditionalOnWebAppli...原创 2018-05-17 09:51:51 · 3540 阅读 · 3 评论 -
【Spring Boot】(18)、Spring Boot配置嵌入式Servlet容器
Spring Boot默认使用Tomcat作为嵌入式的Servlet容器,只要引入了spring-boot-start-web依赖,则默认是用Tomcat作为Servlet容器:1、定制和修改Servlet容器的相关配置1)、修改和server有关的配置(ServerProperties,它其实也是EmbeddedServletContainerCustomizer的子类):server.port...原创 2018-05-16 22:59:24 · 1671 阅读 · 0 评论 -
【Spring Boot】(17)、Spring Boot数据源属性注入与创建
一、 前言 在Spring Boot中常常会用到配置文件,最常见的莫过于数据源,基本上都使用配置文件的方式进行配置了,即在application.properties/yml中配置连接数据库的基本信息。#driver配置不需要配置,Spring Boot会从配置的url中试图获取driver名spring.datasourc.driver=com.mysql.jdbc.Driversprin...原创 2018-04-28 21:58:51 · 6934 阅读 · 0 评论 -
【Spring Boot】(16)、Spring Boot使用JdbcTemplate
1、添加数据源既然要使用JdbcTemplate,就需要添加jdbc的依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency&g...原创 2018-04-28 21:41:15 · 2120 阅读 · 0 评论 -
【Spring Boot】(15)、Spring Boot错误处理机制
1、Spring Boot默认的错误处理机制如果是浏览器,则返回一个默认的错误页面:如果是其他测试工具,如Postman,则返回一个json数据:原理: 可以参照ErrorMvcAutoConfiguration,错误处理的自动配置类。该自动配置类给容器中添加了以下几个组件:1)、ErrorPageCustomizer:错误页面定制器@Beanpublic ErrorPageCustomize...原创 2018-05-10 22:16:32 · 4092 阅读 · 0 评论 -
【Spring Boot】(14)、Spring Boot处理国际化资源
1、Spring应用程序处理国际化资源的步骤: 1)、编写国际化配置文件; 2)、使用ResourceBundleMessageSource管理国际化资源文件; 3)、在页面使用fmt:message取出国际化内容。2、Spring Boot处理国际化资源步骤:1)、编写国际化配置文件,抽取页面中需要进行显示的国际化信息。2)、Spring Boot自动配置了管理国际化资源文件的组...原创 2018-05-06 21:51:25 · 5650 阅读 · 0 评论 -
【Spring Boot】(13)、Spring Boot自动配置SpringMVC
1、SpringMVC自动配置官方文档Spring Boot官方文档:Spring Boot中Springmvc配置文档2、Spring MVC auto-configurationSpring Boot 提供了大多数SpringMVC应用常用的自动配置项。以下是Spring Boot对SpringMVC的默认配置(来自官网,自行翻译):自动配置了 ContentNegotiatingViewRe...原创 2018-05-05 23:20:11 · 986 阅读 · 0 评论 -
【Spring Boot】(12)、Spring Boot使用Thymeleaf模版引擎以及语法
1、模版引擎JSP,Velocity,Freemarker,Thymeleaf...Spring Boot推荐的模版引擎:Thymeleaf。2、引入Thymeleaf依赖<!-- 修改Spring Boot的默认版本 --><thymeleaf.version>3.0.9.RELEASE</thymeleaf.version><!-- 布局功能的支持...原创 2018-05-05 22:06:52 · 772 阅读 · 0 评论 -
【Spring Boot】(11)、Spring Boot对静态资源的规则
1、简介使用Spring Boot:(1)、创建Spring Boot应用,添加需要的模块;(2)、Spring Boot对于支持自动配置的模块已经加载完毕,只需要在配置文件中指定少量配置信息即可;(3)、编写业务逻辑代码。2、Spring Boot对静态资源的映射规则:ResourceProperties:Spring Boot静态资源配置类 @ConfigurationProperties(p...原创 2018-05-05 20:31:04 · 956 阅读 · 0 评论 -
【Spring Boot】(10)、Spring Boot日志框架
1、日志框架市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j...日志门面(日志的抽象层)日志的实现层JCL(Jakarta Common logging)---Apache常用的common-logging、SLF4j(Simple Logging Facade for Java)、jboss-loggingLog4j、Log4j...原创 2018-04-27 20:32:26 · 1149 阅读 · 1 评论 -
【Spring Boot】(9)、自动配置原理
配置文件能配置的属性请参照:官方所有自动配置属性1、自动配置原理Spring Boot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration@EnableAutoConfiguration作用:利用EnableAutoConfigurationImportSelector给容器中导入一些组件:可以查看selectImports()方法的内容:List<St...原创 2018-04-18 23:04:32 · 479 阅读 · 0 评论 -
【Spring Boot】(8)、外部配置加载顺序
7、配置文件加载位置上一节讲述了Spring Boot从项目内部加载配置文件,而这一节主要讲述从外部进行加载配置文件。Spring Boot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。命令行参数所有的配置都可以在命令行上进行指定java -jar spring-boot-02-config-SNAPSHOT.jar --server.po...原创 2018-04-17 21:53:10 · 1448 阅读 · 0 评论 -
【Spring Boot】(7)、配置文件加载位置
Spring Boot启动会扫描以下位置的application.properties/yml文件作为Spring Boot默认配置文件:Spring Boot官方文档章节:加载application.properties配置文件外置,在相对于应用程序运行目录的/config子目录里外置,在应用程序运行的目录里内置,在resources/config包内内置,在classpath根目录(resou...原创 2018-04-17 20:40:38 · 7703 阅读 · 0 评论 -
【Spring Boot】(6)、Profile
Profile是Spring对不同环境提供不同配置功能的支持,可通过激活、指定参数等方式快速切换环境。1、多Profile文件(Properties格式)在主配置文件编写的时候,文件名可以是application-{profile}.propertiesapplication.properties: 默认全局配置文件application-dev.properties: 开发环境applicati...原创 2018-04-16 22:52:53 · 492 阅读 · 0 评论 -
【Spring Boot】(5)、配置文件的随机数和占位符
Spring Boot全局配置文件中支持使用随机数和占位符的方式进行添加属性。1、随机数${random.value}${random.int}${random.int(max)}${random.int(min,max)}${random.long}${random.long(max)}${random.long(min,max)}${random.uuid}随机数使用的是RandomValu...原创 2018-04-16 22:47:29 · 2313 阅读 · 0 评论 -
【Spring Boot】(4)、配置文件值注入
1、配置文件使用上节中yaml书写的配置信息:server: port: 8081 path: /hello person: name: zhangsan age: 20 boss: false birth: 2017/11/12 #map写法1:行内 maps1: {k1: v1, k2: v2} #map写法2 ...原创 2018-04-16 22:35:44 · 1963 阅读 · 0 评论 -
【Spring Boot】(3)、配置文件
1、Spring Boot使用全局的配置文件,默认文件名为application,且固定。application.propertiesapplication.yml配置文件的作用:修改Spring Boot自动配置的默认值。2、YAML语法server: port: 8081 path: /hello person: name: zhangsan age: 20 boss:...原创 2018-04-16 22:24:30 · 535 阅读 · 0 评论 -
【Spring Boot】(2)、Hello World探究
1、父项目:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.12.RELEASE</version>&原创 2018-04-16 21:59:31 · 580 阅读 · 0 评论 -
【Spring Boot】(1)、入门HelloWorld
1、Spring Boot简介(1)、简化Spring应用开发的一个框架; (2)、整个Spring技术栈的一个大整合; (3)、J2EE开发的一站式解决方案;2、Spring Boot HelloWorld2.1、创建一个maven工程(jar):略2.2、导入依赖spring boot相关的依赖<parent> <groupId>org.springfram...原创 2018-04-16 21:43:00 · 834 阅读 · 0 评论