背景我们现在有两个主要的系统一个是活动系统一个是奖品系统,活动系统会调用奖品系统发放奖励。最开始两个之间只通过http直接调用,优点:开发成本低,没有多余组件引入;发放奖励实时返回;活动系统不需要管奖品是否还有剩余库存。缺点:这样就导致上游活动系统强依赖于下游的奖品系统,如果一旦奖品系统挂掉,我们活动系统也就不可用了
# ===================================================================#
JSP在内嵌Servlet容器上运行有些问题(内嵌Tomcate、Jetty不支持以jar的形式运行JSP,Undertow不支持JSP)。Spring Boot 默认使用Thymeleaf模板,因为Thymeleaf模板提供了完美的Spring MVC支持,可以完全替代JSP。1 Thymeleaf基础知识Thymeleaf 是一个跟 Velocity、FreeMarke
Web开发是开发中至关重要的一部分,Web开发的核心内容主要包括内嵌Servlet容器和Spring MVC。spring Boot提供了spring-boot-starter-web为web开发提供支持
在了解了Spring Boot的运作原理和主要注解后,现在来简单的分析一个Spring Boot内置的自动配置功能:http的编码配置。我们在常规项目中配置Http编码的时候是在web.xml添加一个filter,如:filter> filter-name>CharacterEncodingFilterfilter-name> filter-class>org.springfram
参考前面http编码设置的自动配置,我们来实现一个自己自动配置,在这里我们做得测底点的直接写一个自己的starter pom。这样我们不仅有自己的自动配置,而且耦合度更低。这里举一个简单的例子,包含当某个类存在的时候自动配置这个Bean,并可将Bean的属性在application.properties中配置。1 新建一个starter 的maven项目1. 修改pom.xml...
3 核心注解打开任意*AutoConfiguration文件,一般都有下面的条件注解,在spring-boot-autoconfigure-1.5.3.RELEASE.jar的org.springframework.boot.autoconfigure.condition包下条件注解如下:@ConditionalOnBean:当前容器有指定Bean的条件下。 @ConditionalOn...
1 查看Spring Boot自动配置项Spring Boot 自动配置源代码在spring-boot-autoconfigure-1.5.3.RELEASE.jar内,如图:如果想知道Spring Boot做了那些自动配置可以在这里看源码。可以通过下面三种方式查看当前项目中已启用和未启动的自动配置报告:运行jar时添加--debug参数:java -jar x...
Profile是Spring用来针对不同环境对不同配置文件的支持,全局的配置使用application-{profile}.properties(如:application
Spring Boot支持Java Util Logging、Log4J、Log4J2和LockBack作为日志框架,无论使用哪种日志框架,Spring Boot都为当前使用的日志框架的控制台及文件输出做好了配置。默认使用LockBack日志框架。使用application.properties配置在application.properties文件中配置日志级别:loggi...
2 运作原理关于Spring Boot的运作原理,我们还是回归到@SpringBootApplication注解上来,这个注解是一个组合注解,核心功能由@EnableAutoConfigurati
Spring Data JPA是Spring Data的一个子项目,它通过提供基于JPA的Repository极大地减少了JPA作为数据访问方案的代码量。pom.xml文件父类pom<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...
1 Spring Boot提供的自动配置通过查看WebMvcAutoConfiguration及WebMvcProperties的源码,可以发现Spring Boot为我们提供了如下的自动配置。1.自动配置的ViewResolver(1) ContentNegotiatingViewResolver 这是Spring MVC提供的一个特殊的ViewResolver,Cont
数据库连接池选择算法在默认情况下, 数据库连接可以使用DataSource池进行自动配置。下面是选取一个特定实现的算法:由于Tomcat数据源连接池的性能和并发, 在tomcat可用时, 我们总是优先使用它。如果HikariCP可用, 我们将使用它。如果Commons DBCP可用, 我们将使用它, 但在生产环境不推荐使用它。最后, 如果Commons DBCP2可用, 我们将使用它。如果你使用s
spring security是springboot支持的权限控制系统。security.basic.authorize-mode要使用权限控制模式.security.basic.enabled是否开启基本的鉴权,默认为truesecurity.basic.path需要鉴权的path,多个的话以逗号分隔,默认为[/**]security.basic.realmHTTP basic realm
Controller: package com.xiaolyuh.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Page;import org.springframew
1. 配置pom.xml 引入mybatis-spring-boot-starter。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <ver
本节虽然叫Tomcat配置,但其实指的是servlet容器的配置,因为Spring Boot默认内嵌的Tomcat为servlet容器,所以本节只讲对Tomcat配置,其实本节的配置对Tomcat、Jetty和Undertow都是通用的。1 配置Tomcat 关于Tomcat的所有属性都在org.springframework.boot.autoconfigure.web.ServerProp
1 默认的FaviconSpring Boot提供了一个默认的Favicon,每次访问应用的时候都能看到,如图所示。 2 关闭Favicon我们可以在application.properties中设置关闭Favicon,默认为开启。spring.mvc.favicon.enabled=false3 设置自己的Favicon若需要设置自己的Favicon,则只需将自己的favicon.ic
MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情
AOP 代理的两种实现:jdk是代理接口,私有方法必然不会
Spring Boot可以使用properties文件、yaml文件或者命令行参数作为外部配
SpringBoot中的配置体系在SpringBoot中,其核心设计理念是对配置信息的管理采用约定优于配置。在这一理念下,则意味着开发人员所需要设置的配置信息数量比使用传统Spring框架时还大大减少。当然,今天我们关注的主要是如何理解并使用SpringBoot中的配置信息组织方式,这里就需要引出一个核心的概念,即Profile。配置文件与ProfileProfile本质上代表一种用于组织配置信息
Spring Boot 的定时任务: 第一种:把参数配置到.properties文件中: 代码: package com.accord.task; import java.text.Simpl
发博词Spring Boot AutoConfigure封装了两种类型的数据库版本控制工具:flyway和liquib