![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot
ZerahMu
退网转行
展开
-
Spring AOP切点表达式-SpringBoot从入门到熟悉(十五)
切点表达式在Spring AOP中,连接点始终代表方法的执行。切入点是与连接点匹配的谓词,切入点表达语言是以编程方式描述切入点的方式。切点表达式是除过AOP逻辑之外我们开发主要关注的东西,本小结对各种表达式作以说明,spring aop中目前有9种切入点表达式的写法executewithinthistargetargs@target@within@annotation@args一、execute表达式拦截任意公共方法execution(public * *(..))原创 2020-06-08 16:44:56 · 4056 阅读 · 0 评论 -
Spring Aop最简例子-SpringBoot从入门到熟悉(十四)
AOP是面试中常考的面试题,一般都会问到,但工作中大家可能不常用,理论知识不做过多描述,相信大家都能百度的到,本文主要通过一个简单的Demo实现AOP的功能,因为最新项目有涉及到AOP实现审计日志的功能,又因为项目微服务化,所以这种切面增强一般是所有服务模块都需要实现的功能,所以AOP的功能由服务产品处支持处的同事开发了,深深感受到了其强大,因此通过这个DEMO学习一下,要想通过本文背面试题的可以Alt+f4了。AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过原创 2020-06-08 16:41:31 · 989 阅读 · 0 评论 -
Spring Boot整合liquibase上手步骤-SpringBoot从入门到熟悉(十二)
http://www.liquibase.org/ 官网http://www.mamicode.com/info-detail-2430503.html 码迷【精】https://segmentfault.com/a/1190000016641122 思否http://www.tianshouzhi.com/api/tutorials/springboot/366...原创 2019-05-10 16:54:02 · 7793 阅读 · 6 评论 -
SpringBoot透彻掌握@Transactional注解 -SpringBoot从入门到熟悉(十三)
事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于@T...原创 2019-05-23 14:20:00 · 2811 阅读 · 0 评论 -
SpringData JPA save和saveAndFlush方法区别
On saveAndFlush, changes will be flushed to DB immediately in this command. With save, this is not necessarily true, and might stay just in memory, until flush or commit commands are issued.在saveAn...原创 2019-05-23 15:55:41 · 35309 阅读 · 0 评论 -
(十五)Spring Boot中Web应用的统一异常处理
Spring Boot中Web应用的统一异常处理我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(hellodemo)为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接抛出异常,如:...原创 2019-07-16 13:17:27 · 223 阅读 · 0 评论 -
Liquibase 预校验深入--Springboot整合liquibase【二】
之前有篇文章结合我司项目描述了SpringBoot项目如何整合Liquibase,【文章链接:https://blog.csdn.net/NathanniuBee/article/details/90079840】,但是这个玩意在维护的时候还是有一些问题,个人感觉用起来很麻烦,可有啥办法呢,公司就这规范,我太难了。这篇文章主要是写Liquibase的预校验相关的东西,好了正文。http:...原创 2019-08-07 11:19:23 · 1573 阅读 · 0 评论 -
(二十四)使用@Async实现异步调用
一、什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。二、同步调用下面通过一个简单示例来直观的理解什么是同步调用:定义Task类,创建三个处理函数分别模拟三个执行任务的操作,操作消耗时间随机取(10秒内)@Component...原创 2019-09-14 15:46:11 · 434 阅读 · 0 评论 -
(二十五)Spring Boot使用@Async实现异步调用:自定义线程池
在上篇的Spring Boot文章中,已经通过《Spring Boot中使用@Async实现异步调用》一文介绍过如何使用@Async注解来实现异步调用了。但是,对于这些异步执行的控制是我们保障自身应用健康的基本技能。本文我们就来学习一下,如果通过自定义线程池的方式来控制异步调用的并发。本文中的例子我们可以在之前的例子基础上修改,也可以创建一个全新的Spring Boot项目来尝试。一...原创 2019-09-14 16:29:52 · 871 阅读 · 0 评论 -
(二十六)Spring Boot使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭
上文关于Spring Boot中描述使用@Async来实现异步任务和线程池控制:《Spring Boot使用@Async实现异步调用:自定义线程池》,本文就接前面内容,继续说说线程池的优雅关闭,主要针对ThreadPoolTaskScheduler线程池。一、问题现象在上篇文章的例子Chapter4-1-3中,我们定义了一个线程池,然后利用@Async注解写了3个任务,并指定了这些任务执行...原创 2019-09-14 17:15:33 · 469 阅读 · 0 评论 -
(二十七)Spring Boot使用@Async实现异步调用:使用Future以及定义超时
本文主要实现Future的使用方法以及对异步执行的超时控制,关于异步任务Aynsc的使用参考前面几篇文章一、定义异步任务首先,我们先使用@Async注解来定义一个异步任务,这个方法返回Future类型,具体如下:@Slf4j@Componentpublic class Task { public static Random random = new Random(); ...原创 2019-09-14 17:16:23 · 607 阅读 · 0 评论 -
SpringBoot从入门到熟悉(十)Spring Boot 整合 Shiro-登录认证和权限管理
这篇文章我们来学习如何使用 Spring Boot 集成 Apache Shiro 。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在 Java 领域一般有 Spring Security、 Apache Shiro 等安全框架,但是由于 Spring Security 过于庞大和复杂,大多数公司会选择 Apache Shiro 来使用,这篇文章会先介绍一下 Apache...原创 2019-04-12 15:58:30 · 262 阅读 · 0 评论 -
SpringBoot静态变量无法使用@Value注入值
问题是这样的,最近项目中需要掉用其他组支持的配额接口,接口地址是在application.yml中配置的通过给变量加注解注入配置,在调试的过程中发现地址始终无法注入,百度了一下发现:SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值Eg:比如这样的情况使用@Value给普通变量注入配置文件的值,直接在变量声明之上添加@Value...原创 2019-04-08 15:22:51 · 4664 阅读 · 0 评论 -
SpringBoot从入门到熟悉(九)Spring Boot 如何测试打包部署
本文主要学习一下 Spring Boot 如何开发、调试、打包到最后的投产上线。开发阶段单元测试在开发阶段的时候最重要的是单元测试了, Spring Boot 对单元测试的支持已经很完善了。1、在 pom 包中添加spring-boot-starter-test包引用<dependency> <groupId>org.springframewor...转载 2019-04-02 15:43:33 · 146 阅读 · 0 评论 -
SpringBoot从入门到熟悉(一)快速入门
简介相信在你第1次接触和学习Spring框架的时候,就已经为其及其繁琐的配置过程而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!官方是这样介绍Springboot的:http://spring.io/projects/spring-boot对,没错,J...原创 2018-09-15 12:35:42 · 794 阅读 · 0 评论 -
SpringBoot从入门到熟悉(三)redis的使用
Spring Boot除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch, Solr和Cassandra。redis介绍Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支...原创 2018-10-23 00:31:40 · 295 阅读 · 0 评论 -
SpringBoot从入门到熟悉(二)web开发
web开发spring boot web开发非常的简单,其中包括常用的json输出、filters、property、log等json 接口开发在以前的spring 开发的时候需要我们提供json接口的时候需要做那些配置呢添加 jackjson 等相关jar包 配置spring controller扫描 对接的方法添加@ResponseBody就这样我们会经常由于配置错...原创 2018-10-21 01:50:19 · 668 阅读 · 0 评论 -
SpringBoot从入门到熟悉(四)thymeleaf的使用
这篇文章将j简单通过实例来介绍thymeleaf的基本使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。thymeleaf介绍简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 1.Thymeleaf ...转载 2018-11-11 20:58:45 · 190 阅读 · 0 评论 -
SpringBoot从入门到熟悉(七)SpringBoot JPA
spring data jpa介绍首先了解JPA是什么?JPA(Java Persistence API):(Java 持久层 API):用于对象持久化的 API,是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO...转载 2019-04-12 16:19:51 · 159 阅读 · 0 评论 -
SpringBoot从入门到熟悉(五)SpringBoot支持https
本篇博客主要介绍如何给给我们的SpringBoot的Web项目添加对https的支持,至于怎么简单搭建一个springBoot项目参考之前博客。一、什么是https 最简单的描述就是比http更安全的超文本传输协议。以下,随意查看: 要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全...原创 2018-11-28 17:40:27 · 263 阅读 · 0 评论 -
sql查询数据不为空并且不为Null--SpringBoot-data-JPA
SELECT * FROM 表名 WHERE 字段名 IS NOT NULL AND 字段名 <> ''; 查询多条件查询,我的业务是这样的:查询project is_delete 符合条件并且shared_band_width_id 不为null或者不符合条件的数据。 SELECT * FROM `eip` WHERE project_id='1...原创 2019-01-04 11:27:02 · 5811 阅读 · 0 评论 -
SpringBoot从入门到熟悉(六)SpringBoot支持RabbitMQ
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在...原创 2019-04-12 16:20:14 · 186 阅读 · 0 评论 -
SpringBoot从入门到熟悉(六)SpringBoot定时任务
在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现1.gradle配置jar包,只需要引入springboot starter包就可以了 implementation 'org.springframework.boot:spring-boot-starter' runtimeOnly 'o...原创 2019-03-01 14:23:50 · 192 阅读 · 0 评论 -
SpringBoot从入门到熟悉(八)使用SpringBoot发送邮件--JavaMailSender
发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring推出了JavaMailSender更加简化了邮件发送的过程,在之后springboot对此进行了封装就有了现在的spring-boot-starter-mail,本文主要通过实例实现一个发送邮件的功能以此来学习JavaMailSe...原创 2019-03-13 14:47:35 · 1356 阅读 · 0 评论 -
SpringBoot基础入门、学习资料汇总
SpringBoot可算是今年web开发的热点了,下面整理一些学习资料,以供分享学习,下篇文章开始SpringBoot入门之路 务必点开、务必点开、务必点开:Spring Boot 中文索引:http://springboot.fun/ 精品博客:纯洁的微笑:http://www.ityouknow.com/spring-boot.html程序猿DD:http://bl...原创 2018-09-15 11:12:43 · 876 阅读 · 0 评论