SpringBoot
Bolon0708
昨日已成过往,明日未来可期。
展开
-
新鲜出炉,直接带你弄懂 Spring Boot Jar 启动原理!
1. 概述Spring Boot 提供了 Maven 插件spring-boot-maven-plugin,可以方便的将 Spring Boot 项目打成jar包或者war包。考虑到部署的便利性,我们绝大多数 99.99% 的场景下,我们会选择打成jar包。这样,我们就无需在部署项目的服务器上,配置相应的 Tomcat、Jetty 等 Servlet 容器。那么,jar包是如何运行,并启动 Spring Boot 项目的呢?这个就是本文的目的,一起弄懂 Spring Bootj...转载 2020-06-04 16:01:20 · 1346 阅读 · 1 评论 -
Spring Job?Quartz?XXL-Job?年轻人才做选择~
摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/Job/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1. 概述 2. 快速入门 Spring Task 3. 快速入门 Quartz 单机 4. 再次入门 Quartz 集群 5. 快速入门 XXL-JOB 6. 快速入门 Elastic-Job 666. 彩蛋 本文在提供完整代码示例,可见 https://github.com/YunaiV/Spr.转载 2020-05-15 09:15:37 · 1833 阅读 · 0 评论 -
参数验证 @Validated 和 @Valid 的区别
目录1. 分组2. 注解地方3. 嵌套验证Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范,是标准 JSR-303 的一个变种),javax提供了@Valid(标准JSR-303规范),配合 BindingResult 可以直接提供参数验证结果。其中对于字段的特定验证注解比如 @NotNull 等网上到处都...转载 2019-11-11 17:13:10 · 458 阅读 · 0 评论 -
如何在 Spring/Spring Boot 中做参数校验?你需要了解的都在这里!
目录基础设施搭建相关依赖实体类验证Controller的输入验证请求体(RequestBody)验证请求参数(Path Variables 和 Request Parameters)验证 Service 中的方法Validator 编程方式手动进行参数验证自定以 Validator(实用)案例一:校验特定字段的值是否在可选范围案例二:校验电话号码使用...转载 2019-11-11 16:24:46 · 785 阅读 · 0 评论 -
springBoot注解大全
一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration等同于spring的XML配置文件;使用J...转载 2019-06-20 13:45:12 · 154 阅读 · 0 评论 -
松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸!
目录1.什么是 Spring Boot ?2.Spring Boot 有哪些特点 ?3.Spring Boot 中的 starter 到底是什么 ?4.spring-boot-starter-parent 有什么用 ?5.YAML 配置的优势在哪里 ?6.Spring Boot 中如何解决跨域问题 ?7.比较一下 Spring Security 和 Shiro 各自的优...转载 2019-06-20 14:31:29 · 674 阅读 · 0 评论 -
Spring Boot 配置文件中的花样,看这一篇足矣!
目录配置基础自定义参数参数引用使用随机数命令行参数多环境配置加载顺序2.x 新特性配置文件绑定环境属性绑定系统属性绑定属性的读取全新的绑定API代码示例在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring Boot给我们带来的诸多优点,我们用非常少的代码量就成功的实现了一个Web应用,这是传统的S...转载 2019-06-18 15:50:41 · 208 阅读 · 0 评论 -
徒手撸一个 Spring Boot 中的 Starter ,解密自动化配置黑魔法!
目录核心知识定义自己的 Starter定义本地安装使用 Starter总结我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中。Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小伙伴会觉得这个 Starter 好神奇呀!其实 Starter 也都是 Spring + Spr...转载 2019-07-15 10:10:52 · 159 阅读 · 0 评论 -
SpringBoot启动流程解析
写在前面: 由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图keepRunning方法)。 本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。总览: ...转载 2019-07-24 16:51:06 · 216 阅读 · 0 评论 -
SpringBoot是如何动起来的
目录程序入口1. 从哪儿开始?2. 执行了什么?2.1 计时2.2 声明2.3 指定程序运行模式2.4 配置监听并发布应用启动事件3. 每个阶段执行的内容3.1 listeners.starting();3.2 prepareEnvironment(listeners, applicationArguments);3.3 prepareContext...转载 2019-07-25 14:34:10 · 192 阅读 · 0 评论 -
SpringBoot全局异常处理
在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。参考:@ControllerAdvice 文档一、介绍创建 MyControllerAdvice,并添加 @ControllerAdvice注解。package ...转载 2019-07-26 15:04:44 · 447 阅读 · 0 评论 -
最简单的SpringBoot整合MyBatis教程
目录工程创建基本用法mapper映射原理分析前面两篇文章和读者聊了Spring Boot中最简单的数据持久化方案JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBatis步骤还是有点复杂的,要配置多个Bean,Spring Boot中对此做了进一步的简化,使MyBatis基本上...转载 2019-09-09 15:19:02 · 268 阅读 · 0 评论 -
@EnableAutoConfiguration注解原理
目录1.@EnableAutoConfiguration注解2.AutoConfigurationImportSelector3.总结前言 Spring Boot中引入了自动配置,让开发者利用起来更加的简便、快捷。比如内嵌的tomcat端口默认配置是8080,这些都属于Spring Boot自动配置的范畴,当然其自动配置相当多。springboot框架的神奇之处在于...转载 2019-09-10 10:50:38 · 18379 阅读 · 1 评论 -
Spring Boot(六):如何优雅的使用 Mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo 和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。Orm 框架的...转载 2019-05-13 11:59:02 · 182 阅读 · 0 评论 -
spring boot与spring mvc的区别是什么?
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop,ioc 提供了依赖注入的容器 ,aop 解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XM...转载 2019-05-17 09:41:23 · 205 阅读 · 0 评论 -
给你一份Spring Boot核心知识清单
目录一、抛砖引玉:探索Spring IoC容器1.1、Spring IoC容器1.2、Spring容器扩展机制二、夯实基础:JavaConfig与常见Annotation2.1、JavaConfig2.2、@ComponentScan2.3、@Import2.4、@Conditional2.5、@ConfigurationProperties与@EnableCo...转载 2019-04-18 19:23:55 · 160 阅读 · 0 评论 -
springboot添加定时器@EnableScheduling
方法一:通过springboot自带入口来开启定时器。首先我们都知道,springboot有一个自己的入口,也就是@SpringBootApplication(他是一个组合注解 由@Configuration,@EnableAutoConfiguration和@ComponentScan组成)。首先定时器需要有一个总开关,因为我可能要定时很多函数,如果我想全都暂时关上总不能一个一个把注解给...原创 2018-08-29 11:02:28 · 10842 阅读 · 0 评论 -
java递归实现权限树列表
在写项目的权限管理模块、用户系统的时候经常碰见类似的树结构我们一般习惯称之为权限树,权限树应用的地方有很多,比较常见的有:权限管理时候的树状图,页面左侧的一二三级的菜单,物品分类的树状菜单。在实际项目中这种权限结构,数据库设计一般是这样的:CREATE TABLE `bh_module` ( `id` int(11) NOT NULL AUTO_INCRE...原创 2018-08-29 13:23:12 · 6055 阅读 · 0 评论 -
JAVA利用HttpClient进行POST请求
目前,要为另一个项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用JQuery post进行请求。但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而JQuery的post请求是不允许跨域的。这时,就只能够用HttpClient包进行请求了,同时由于请求的URL是HTTPS的,为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过...原创 2018-08-29 14:14:16 · 27810 阅读 · 2 评论 -
时间处理工具类
import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.LocalDate;import java.time.ZoneId;import java.time.Zoned...原创 2018-09-14 15:02:30 · 177 阅读 · 0 评论 -
Spring Boot 整合 log4j 实现日志管理报错:java.lang.IllegalArgumentException: LoggerFactory is not a Logback
问题:Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.apac...原创 2018-12-26 16:01:17 · 2147 阅读 · 0 评论 -
Spring Boot 整合 log4j2 实现日志管理
1.pom.xml文件引入log4j2依赖,并同时把spring boot默认的logging去掉<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <...转载 2018-12-26 16:49:07 · 546 阅读 · 2 评论 -
springboot 在idea中实现热启动或热部署
热启动:修改代码保存时会自动重新启动项目。热部署:动态替换你修改的class,效率会更高。1:最简单的就是对于idea使用ctrl+F9的方式可以实现热部署:但是需要修改完不断的按键,比较繁琐。 2:热启动SpringBoot的web项目,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间,实现了热启动,在每一次作了修改之后,都会自动...原创 2018-12-26 20:04:57 · 2364 阅读 · 1 评论 -
IntelliJ IDEA 使用教程 -- 从入门到上瘾
目录前言:IntelliJ IDEA正文:IntelliJ IDEA 使用教程1. IDEA VS Eclipse 核心术语比较 1.1 为什么要取消工作空间?2. 当前项目配置VS 默认配置3. 全局JDK(默认配置)4. 全局Maven(默认配置)打开Maven神器5. 版本控制Git/Svn (默认配置)6. 自动导包和智能移除 (默认配...转载 2018-12-29 16:41:36 · 250 阅读 · 0 评论 -
Idea中Module is not specified解决办法
打开idea发现项目启动不了了,出现了这个错误:Module is not specified解决如下:Edit Configuration -> Configuration -> Use classpath of module -> 选择你当前的module -> Apply就可以了...原创 2019-03-09 17:39:03 · 118751 阅读 · 18 评论 -
Spring Boot 面试,一个问题就干趴下了!
最近栈长面试了不少人,其中不乏说对 Spring Boot 非常熟悉的,然后当我问到一些 Spring Boot 核心功能和原理的时候,没人能说得上来,或者说不到点上,可以说一个问题就问趴下了!这是我的问题:我看你上面写了熟悉 Spring Boot,那你能讲下为什么我们要用 Spring Boot 吗?下面我列几个最常见的三个回答:A:Spring Boot 最主要是不用 XML...转载 2019-04-10 10:02:20 · 579 阅读 · 1 评论 -
SpringBoot引入第三方jar包或本地jar包的处理方式
在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢一般有两种方法第一种是将本地jar包安装在本地maven库 第二种是将本地jar包放入项目目录中这篇文章主要讲第二种方式,这又分两种情况,一种是打包jar包,第二种是打包war包jar包先看看jar包的结构用压缩工具打开一个jar包打...转载 2019-04-26 10:45:43 · 2547 阅读 · 0 评论 -
SpringBoot 数据库增删改查实例(IntelliJ Idea )
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, |...转载 2018-03-31 13:04:03 · 3511 阅读 · 1 评论