
Spring家族
文章平均质量分 87
关于spring家族的所有
JerryTan_xiao
这个作者很懒,什么都没留下…
展开
-
Spring官方都推荐使用的@Transactional事务,为啥我不建议使用!
编程式事务基于底层的API,如PlatformTransactionManager、TransactionDefinition 和 TransactionTemplate 等核心接口,开发者完全可以通过编程的方式来进行事务管理。编程式事务方式需要是开发者在代码中手动的管理事务的开启、提交、回滚等操作。public void test() { TransactionDefinition def = new DefaultTransactionDefinition(); Tra转载 2021-04-09 10:35:49 · 394 阅读 · 0 评论 -
Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控等!
去年我们项目做了微服务1.0的架构转型,但是服务监控这块却没有跟上。这不,最近我就被分配了要将我们核心的微服务应用全部监控起来的任务。我们的微服务应用都是SpringBoot 应用,因此就自然而然的想到了借助Spring Boot 的Actuator 模块。本篇是我在完成这个工单之后,对Spring Boot Actuator模块 学习应用的总结。在本篇文章中,你可以学习到:1、Spring ...原创 2020-03-17 14:17:27 · 519 阅读 · 0 评论 -
SpringBoot 处理异常的几种常见姿势
1. 使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常这是目前很常用的一种方式,非常推荐。测试代码中用到了 Junit 5,如果你新建项目验证下面的代码的话,记得添加上相关依赖。新建异常信息实体类非必要的类,主要用于包装异常信息。src/main/java/com/twuc/webApp/exception/ErrorResponse.ja...原创 2020-03-17 10:49:08 · 308 阅读 · 0 评论 -
使用枚举简单封装一个优雅的 Spring Boot 全局异常处理!
使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常@ExceptionHandler 处理 Controller 级别的异常ResponseStatusException通过这篇文章,可以搞懂如何在 Spring Boot 中进行异常处理。但是,光是会用了还不行,我们还要思考如何把异常处理这部分的代码写的稍微优雅一点。下面我会以我在工作中学到的一...原创 2020-03-17 10:36:14 · 790 阅读 · 0 评论 -
SpringBoot线程池的创建、@Async配置步骤及注意事项
前言最近在做订单模块,用户购买服务类产品之后,需要进行预约,预约成功之后分别给商家和用户发送提醒短信。考虑发短信耗时的情况所以我想用异步的方法去执行,于是就在网上看见了Spring的@Async了。但是遇到了许多问题,使得@Async无效,也一直没有找到很好的文章去详细的说明@Async的正确及错误的使用方法及需要注意的地方,这里简单整理了一下遇见的问题,Sring是以配置文件的形式来开启@A...原创 2020-03-17 10:29:13 · 345 阅读 · 0 评论 -
SpringBoot 整合SpringSecurity示例实现前后分离权限注解+JWT登录认证
1 说明SpringSecurity是一个用于Java 企业级应用程序的安全框架,主要包含用户认证和用户授权两个方面.相比较Shiro而言,Security功能更加的强大,它可以很容易地扩展以满足更多安全控制方面的需求,但也相对它的学习成本会更高,两种框架各有利弊.实际开发中还是要根据业务和项目的需求来决定使用哪一种。JWT是在Web应用中安全传递信息的规范,从本质上来说是Token的演变,是...原创 2020-03-16 08:44:14 · 1933 阅读 · 4 评论 -
基于Spring Boot实现定时任务的动态增删启停
1 基于Spring Boot实现定时任务的动态增删启停在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现动态增删启停定时任务功能,比较广泛的做法是集成Quartz框架。但是本人的开发原则是:在满足项目...原创 2020-03-11 09:07:10 · 1009 阅读 · 0 评论 -
SpringBoot 一个依赖搞定 session 共享,没有比这更简单的方案了!
有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你就知道松哥说的是对的了!在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图:在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被...原创 2020-02-27 08:49:05 · 146 阅读 · 0 评论 -
spring 跨域问题
CROS(Cross-Origin Resource Sharing) 用于解决浏览器中跨域请求的问题。简单的Get请求可以使用JSONP来解决,而对于其它复杂的请求则需要后端应用的支持CROS。Spring在4.2版本之后提供了@CrossOrigin 注解来实现对Cross的支持。在Controller方法上配置@CrossOrigin(origins = {"http://loacl...原创 2020-02-26 15:43:54 · 178 阅读 · 0 评论 -
10 分钟实现 Java 发送邮件功能
Spring Boot集成邮件服务竟如此简单,快速掌握邮件业务类的核心逻辑和企业邮件的日常服务。什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。什么是IMAP?IM...原创 2020-02-23 16:44:17 · 721 阅读 · 0 评论 -
基于Springboot+Dubbo+Nacos 注解方式实现微服务调用
大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下基于 C/S 架构 Spring Boot + Vue的开发应用的相关知识,今天跟大家分享基于Springboot+Dubbo+Nacos 注解方式实现微服务调用的知识。1 项目结构|-- spring-boot-dubbo-demo (父级工程)|-- spring...原创 2020-02-21 15:54:04 · 821 阅读 · 1 评论 -
Spring Boot 2.x基础教程:使用国产数据库连接池Druid
我们介绍了Spring Boot在JDBC模块中自动化配置使用的默认数据源HikariCP。接下来这一节,我们将介绍另外一个被广泛应用的开源数据源:Druid。Druid 是由阿里巴巴数据库事业部出品的开源项目。它除了是一个高性能数据库连接池之外,更是一个自带监控的数据库连接池。虽然HikariCP已经很优秀,但是对于国内用户来说,可能对于Druid更为熟悉。所以,对于如何在Spring Boo...原创 2020-02-10 09:55:12 · 223 阅读 · 0 评论 -
一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式
前言有时候我们需要在应用启动时执行一些代码片段,这些片段可能是仅仅是为了记录 log,也可能是在启动时检查与安装证书 ,诸如上述业务要求我们可能会经常碰到Spring Boot 提供了至少 5 种方式用于在应用启动时执行代码。我们应该如何选择?本文将会逐步解释与分析这几种不同方式CommandLineRunnerCommandLineRunner 是一个接口,通过实现它,我们可以在Spri...原创 2020-02-10 09:34:13 · 209 阅读 · 0 评论 -
定义Configuration Processor读取spring配置
1 引入maven依赖 <!-- configuration-processor --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor&l...原创 2020-02-10 08:36:47 · 180 阅读 · 0 评论 -
SpringBoot 微信点餐开源系统!综合运用项目,值得一看!
架构前后端分离:Nginx 与 Tomcat 的关系在这篇文章,几分钟可以快速了解:https://www.jianshu.com/p/22dcb7ef9172补充:setting.xml 文件的作用:settings.xml 是 maven 的全局配置文件。而 pom.xml 文件是所在项目的局部配置。Settings.xml 中包含类似本地仓储位置、修改远程仓储服务器、...原创 2020-02-09 09:10:20 · 481 阅读 · 0 评论 -
SpringBoot+Redis分布式锁:模拟抢单场景
本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:1、jedis的nx生成锁2、如何删除锁3、模拟抢单动作(10w个人开抢)jedis的nx生成锁对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖:<dependency><groupId>redis.clients</grou...原创 2020-02-08 18:57:21 · 546 阅读 · 0 评论 -
SpringBoot注解梳理
一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Java...原创 2020-02-08 16:37:36 · 124 阅读 · 0 评论 -
关于idea中创建Spingmvc不能使用el表达式的问题
第一种没试过。。<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app></web-app>第二种2、在jsp中添加...原创 2019-03-01 16:33:05 · 203 阅读 · 0 评论 -
SpringBoot缓存应用实践
缓存是最直接有效提升系统性能的手段之一。个人认为用好用对缓存是优秀程序员的必备基本素质。本文结合实际开发经验,从简单概念原理和代码入手,一步一步搭建一个简单的二级缓存系统。一、通用缓存接口1、缓存基础算法FIFO(First In First Out),先进先出,和OS里的FIFO思路相同,如果一个数据最先进入缓存中,当缓存满的时候,应当把最先进入缓存的数据给移除掉。LFU(Le...原创 2020-02-07 15:36:21 · 305 阅读 · 0 评论 -
为什么很多SpringBoot开发者放弃了Tomcat
前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringBoot中的Tomcat容器...原创 2020-02-07 13:26:49 · 1170 阅读 · 1 评论 -
【Spring学习】Spring之旅
1.Spring之旅1.1 简化Java开发1.1.1 Spring介绍Spring可以做很多事情,为企业级开发提供给了丰富的功能,这些功能的底层都依赖于他的两个核心特性,也就是依赖注入(DI,dependency injection)和面向切面编程(AOP,aspect-oriented programming)。在诞生之初,创建Spring的主要目的是用来替代更加重量级的企业级...原创 2018-07-23 17:57:02 · 415 阅读 · 0 评论 -
SSM Mybatis 分页
可以借助工具 插件pagehepler但是必须要遍历,不然会返回一个page对象,做了一个原始分页 原理都是一样的首先是maven包<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> ...原创 2018-07-13 09:52:09 · 262 阅读 · 0 评论 -
RESTful 个人理解总结
一.什么是RESTful 面向资源简单的说:RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。资源的地址 在web中就是URL (统一资源标识符)资源是REST系统的核心概念。 所有的设计都是以资源...原创 2018-07-10 17:42:00 · 277 阅读 · 2 评论 -
SpringBoot 整合 Kafka
前言kafka是一个消息队列产品,基于Topic partitions的设计,能达到非常高的消息发送处理性能。Spring创建了一个项目Spring-kafka,封装了Apache 的Kafka-client,用于在Spring项目里快速集成kafka。除了简单的收发消息外,Spring-kafka还提供了很多高级功能,下面我们就来一一探秘这些用法。项目地址:https://github.c...原创 2020-02-07 08:50:14 · 229 阅读 · 0 评论 -
SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
一、先扔一张图说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如:消息发送确认机制消费确认机制消息的重新投递消费幂等性, 等等这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来, 见图知意二、实现思路简略介绍163邮箱授权码的获取编写发送邮件工具类编写RabbitMQ配置文件生产者发起调用消费者发送邮件定时任...原创 2020-02-06 14:40:00 · 262 阅读 · 1 评论 -
SpringBoot整合JSP页面,java -jar方式启动
为什么还选择使用jsp?这是一篇在idea中整合的,eclipse中没试,但应该差不多。官方不推荐使用jsp作为页面,而是推荐使用模板thymeleaf作为页面展示。但是目前来说,很多项目的页面还是用的jsp.而且很多现成的项目用的jsp页面,扒过来就能用,当然如果时间允许的情况,还是不建议大家使用jsp,而是采用官方推荐的模板。整合jsp的坑正常情况下包含jsp的页面是无法用jar的运行的...原创 2020-02-06 11:54:19 · 497 阅读 · 0 评论