SpringBoot系列之@Conditional注解用法简介 引用Spring官方文档的说法介绍一下@Conditional注解:Spring5.0.15版本@Conditional注解官方文档 @Conditional表示仅当所有指定条件都匹配时,组件才有资格注册 . 该@Conditional注释可以在以下任一方式使用: 作为任何@Bean方法的方法级注释 作为任何类的直接或间接注释的类型级别注释 @Component,包括@Configuration类 作为元注释,目的是组成自定义构造型…
SpringBoot系列之外部配置用法简介 引用Springboot官方文档的说法,官方文档总共列举了如下用法: 1.Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties when devtools is active). 2.@TestPropertySource annotations on your tests. 3.properties attribut…
目录 1.模板引擎 2.Thymeleaf简介 2.1).Thymeleaf定义 2.2).适用模板 3.重要知识点 3.1).th:text和th:utext 3.2).标准表达式 3.3).Thymeleaf遍历 3.4).公共模块抽取 3.5).行内写法介绍 3.6).Thymeleaf语法规则 4.SpringBoot集成 4.1).Springboot集成Thymeleaf简介 4.2).Thymeleaf自动配置源码简单分析 SpringBoot系列之Thymeleaf语法简单介绍…
1.全局配置 SpringBoot的全局配置文件有两种: application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认值,主要是默认值,因为SpringBoot启动时会自动加载很多默认配置,详细的可以参考我之前博客源码学习系列之SpringBoot自动配置 2.YAML语言定义 YAML表示YAML Ain't Markup Language,在百度百科的解释是: YAML是"YAML Ain't a Markup Lang…
在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解,今天为大家解析一下 @SpringBootApplication,如有不正之处,欢迎批评指正. @SpringBootApplication @SpringBootApplication源码如下: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inher…
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 一.配置篇 SpringBoot系列之@PropertySource读取yaml文件     >> source download SpringBoot系列之外部配置用法简介     >> source download SpringBoot系列之配置文件加载位置     >> source download SpringBoot系列之配置文件占位符使用     >> source downl…
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广. Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的一款使Spring框架开发变得容易的框架.学过Spring框架的都知识,Spring框架难以避免地需要配置不少XMl,而使用Spring Boot框架的话,就可以使用注解开发,极大地简化基于Sp…
继上一篇博客SpringBoot系列之YAML配置用法之后,再写一篇@Value.@ConfigurationProperties的对比博客 这两个主键都是可以获取配置文件属性的,不过是有比较大的区别的,所以本博客做一下对比,ok,继续拿上一篇博客的例子来实验 ## 测试ConfigurationProperties user: userName: root isAdmin: true regTime: 2019/11/01 isOnline: 1 maps: {k1 : v1,k2: v2}…
SpringBoot系列之集成Mybatis教程 环境准备:IDEA + maven 本博客通过例子的方式,介绍Springboot集成Mybatis的两种方法,一种是通过注解实现,一种是通过xml的方式 进行实验,要先创建一个Initializer工程,如图: 打包方式选择jar即可,因为Springboot使用了嵌入式的Servlet容器,直接运行jar即可,即使是web工程也支持 选择必要的jar,Mybatis.数据库驱动是必要的 新建项目后,会自动加上如下配置,,如果你的mysql服务…
SpringBoot系列之Spring Data Jpa集成教程 Spring Data Jpa是属于Spring Data的一个子项目,Spring data项目是一款集成了很多数据操作的项目,其下的子项目有如下图所示: 官方也有提供了英文版的文档,具体可以参考Spring data官方文档 JPA是一个规范,并非具体的实现框架,而Spring Data JPA就是依赖于Hibernate JPA的实现 ok,接着通过例子的方式介绍Springboot集成Spring Data JPA的方法,…
SpringBoot系列之@PropertySource用法简介 继上篇博客:SpringBoot系列之@Value和@ConfigurationProperties用法对比之后,本博客继续介绍一下@PropertySource注解的用法,通过上一篇博客的知识,可以知道@Value和@ConfigurationProperties都可以用于获取配置文件的属性值,不过有个细节容易被忽略,那就是,这两个注解在Springboot项目中都是获取默认配置文件的属性值,也就是application.yml…
这个需求应该也比较常见,在不同的条件下创建不同的bean,具体场景很多,能看到这篇的肯定懂我的意思. 倘若不了解spring4.X新加入的@Conditional注解的话,要实现不同条件创建不同的bean还是比较麻烦的,可能需要硬编码一些东西做if判断.那么现在有个@Conditional注解后,事情就简单多了.用法很简单,直接上代码. 新建一个springboot项目,添加一个Configuration标注的类,我们通过不同的条件表达式来创建bean.   package com.tianya…
我们再来看下SpringBoot应用的启动类: 查看代码 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.an…
承接前文springboot情操陶冶-@Configuration注解解析,本文将在前文的基础上阐述@AutoConfigureAfter和@Conditional注解的作用与解析 1.@Conditional 根据单词来理解,其就是条件的意思.在分析之前我们可以看下其内部源码 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interf…
一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration注解.其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文. @Configuration  等同于spring的XML配置文件:使用Java代码可以检查类型安全. @EnableAutoConfiguration  自动配置. @Comp…
目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下SpringBoot通过注解方式整合Mybatis的过程. 一.常用注解说明 @Mapper 可以给接口自动生成一个实现类,让spring对mapper接口的bean进行管理,并且可以省略去写复杂的xml文件. @Options 配置映射语句的属性.例如:@Options(useGeneratedKeys = true,…
SpringBoot系列之日志框架介绍及其原理简介 1.常用日志框架简介 市面上常用日志框架:JUL.JCL.jboss-logging.logback.log4j.log4j2.slf4j.etc. 其中日志门面,也是一系列接口api的有slf4j(Simple Logging Facade for Java).JCL(Jakarta Commons Logging).jboss-loggin 注意:常用的slf4j等只是一日志门面,是一个日志的抽象层,非日志实现,具体的实现用通过log4j或…
SpringBoot(15)-@Conditional注解 作用 @Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件的才给容器注册Bean. 一.概述 1.@Conditional注解定义 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Conditional { Clas…
往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静态资源配置详解 SpringBoot系列(五)Mybatis整合完整详细版 SpringBoot系列(六)集成thymeleaf详解版 Springboot系列(七) 集成接口文档swagger,使用,测试 SpringBoot系列(八)分分钟学会Springboot多种解决跨域方式 Sprin…
@Profile注解是@Conditional注解的一个例子.即@Profile也是用@Conditional注解来实现的. 必须让条件实现Condition这个接口. 下面的案例讲如果环境中有magic这个属性,则能通过条件,spring会创建bean.反之如果环境中没有magic这个属性,则不能通过条件,spring就不会创建bean,会报错. 案例的代码如下: MagicBean的代码如下: package com.advancedWiring.conditionalBeans; impo…
Springboot 配置接口文档swagger 往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静态资源配置详解 SpringBoot系列(五)Mybatis整合完整详细版 SpringBoot系列(六)集成thymeleaf详解版 本文目录 1. swagger2 介绍 2. maven 配置swagger2依赖 3. swagger2 配置…
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 关于配置文件可以配置的内容,在 Spring Boot 官方网站已经提供了完整了配置示例和解释. 可以这么说,Spring Boot 的一大精髓就是自动配置,为开发省去了大量的配置时间,可以更快的融入业务逻辑的开发,那么自动配置是怎么实现的呢? 1. @SpringBootApplication 跟着 Spring Boot 的启动类的注解…
​ @Conditional:Spring4.0 介绍了一个新的注解@Conditional,它的逻辑语义可以作为"If-then-else-"来对bean的注册起作用. @Contidional 介绍 ​ Conditional 是由 SpringFramework 提供的一个注解,位于 org.springframework.context.annotation 包内,定义如下. @Retention(RetentionPolicy.RUNTIME) @Target({Elemen…
1. 前言 Springboot 中的自动配置确实方便,减少了我们开发上的复杂性,那么自动配置原理是什么呢?之前我也写过了一篇文章进行了分析. Springboot 系列(三)Spring Boot 自动配置. 由于自动配置用到了配置文件的绑定,如果你还不知道常见的配置文件的用法,可以参考这篇文章. Springboot 系列(二)Spring Boot 配置文件. 在这一次,通过学习 Springboot 自动配置模式,编写一个自己的 starter,用来加深对自动配置的理解. 熟悉模式,有助…
目录 1.模板引擎简介 2.环境准备 4.源码原理简介 SpringBoot系列之集成jsp模板引擎 @ 1.模板引擎简介 引用百度百科的模板引擎解释: 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在JavaEE领域有几中比较常用的模板引擎,分别是Jsp.Velocity.Freemarker.Thymeleaf,不过对于前端页面渲染效率来说,jsp其实还是最快的,Vel…
SpringBoot系列之JDBC数据访问 New->Project or Module->Spring Initializer 选择JDBC和mysql驱动,为了方便测试web等等也可以选上 项目创建成功之后,会自动配上如下的配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactI…
目录 1.SpringBoot日志级别 1).日志级别简介 2).默认日志级别 3).配置日志级别 4).日志分组设置 2.SpringBoot日志格式设置 1).默认格式原理简介 2).默认日志格式 3).自定义日志格式 4).日志颜色设置 3.日志文件归档 4.logging其它参数配置 5.开启日志调试模式 基于上篇博客,SpringBoot系列之日志框架介绍及其原理简介博客之后,本博客可以对日志框架的具体使用做一个比较详细的描述,以此作为一篇使用的手册,以此帮助学习Springboot者…
SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一篇,如何添加数据 通过本篇文章,你可以get到以下技能点 POJO对象如何与表关联 如何向DB中添加单条记录 如何批量向DB中添加记录 save 与 saveAndFlush的区别 I. 环境准备 实际开始之前,需要先走一些必要的操作,如安装测试使用mysql,创建SpringBoot项目工程,设…
干货系列之java注解 前言 java反射和注解在java里面很重要,但是很多人对这方面的知识理解不是很好,我来说说我自己对java反射和注解的理解,这两块内容本来应该出在一个博客文章里面讲解,但是由于我的java反射说的内容有点小多,然后我就分开将讲解一下. 目录 注解的概念 注解的类别 注解用法 通过反射获取注解 反射注解一起使用拼写SQL语句实战演练 注解的概念 java注解: 比较官方的说法: 从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理…
SpringBoot系列(二)入门知识 往期推荐 SpringBoot系列(一)idea新建springboot项目 引言 本来新建springboot项目应该放在入门知识这一章的,但是由于新建springboot的第一篇文章只介绍了一种新建项目的方法,所以在这一章讲解一下springboot的基本知识,并附上其他的新建springboot的方法.wx search 全栈学习笔记,精彩美文每天推送! 目录 前景 什么是是Springboot? 怎么创建Springboot项目? Springbo…