Spring全家桶
文章平均质量分 61
Spring框架相关
椰汁菠萝
在循环中进步
展开
-
ShardingSphere-JDBC整合SpringBoot JPA读写分离失败
ShardingSphere JDBC 整合Spring Boot JPA读写分离失败原创 2023-05-16 01:23:59 · 762 阅读 · 1 评论 -
Seata AT 模式详细介绍
seata TA分布式事务原创 2022-10-13 18:32:56 · 434 阅读 · 0 评论 -
Seata 1.6.1整合SpringCloud实现分布式事务(含代码)
到seata-server根目录下,script/config-center目录下,复制config.txt内容,粘贴到seata.properties,根据自己需要修改即可,主要修改store下的内容;创建seata数据库,到seata-server根目录,script/server/db下,打开mysql.sql,运行,创建相关表。通过以上步骤,seata-server端搭建完成,并且该方式支持集群搭建,相同配置,再启动一个seata-server即可;,账号密码:seata/seata,原创 2023-05-08 16:45:47 · 1089 阅读 · 0 评论 -
Zuul详解与实例
前言 介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的,不可能同享一个注册中心。同时一般上内部的微服务都是在内网的,和外界是不连通的。而且,就算我们每个微服务对外开放,对于调用者而言,调用不同的服务的地址或者参数也是不尽相同的,这样就会造成消...转载 2021-01-12 11:08:48 · 1016 阅读 · 0 评论 -
Spring Config 配置中心和Spring Bus配合使用的一些坑
1.很多文章里都没有提到@RefreshScope,如果你刷新配置后,已经注入的字段没有刷新,那你的类上需要这个注解2.大部分文章都说只要配置一个节点,通过该节点的/bus/refresh就可以刷新所有微服务节点,不知道是我理解不对还是写的不清楚,反正,如果想要刷新别的节点,则这个节点必定要引入mq配置,它要连到消息中心https://github.com/suozq1/learn原创 2018-01-23 15:26:30 · 2396 阅读 · 1 评论 -
Spring Boot JPA使用详解
spring data jpa介绍首先了解JPA是什么?JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸...原创 2017-03-09 16:54:32 · 6504 阅读 · 0 评论 -
SpringBoot 接收日期格式参数统一处理
一、接收java.util.Date作为参数,在yaml配置文件中统一配置spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 mvc: format: date: yyyy-MM-dd date-time: yyyy-MM-dd HH:mm:ss time: HH:mm:ss二、接收java.time.LocalDateTime作为参数,在参数上加注解原创 2021-09-18 14:57:21 · 2354 阅读 · 0 评论 -
Spring Boot使用tomcat连接池时出现的:Connection reset by peer: socket write error
Spring Boot使用tomcat连接池时,由于配置问题会有Connection reset by peer: socket write error风险,自2.0.0版后Spring Boot默认连接池改为HikariCP出现该异常原因:tomcat连接池testWhileIdle属性默认为false,连接闲置时,并未进行验证,当数据库连接不稳定(网络波动,短暂断网),池中保有的连接其实已...原创 2020-05-18 17:00:18 · 6023 阅读 · 0 评论 -
SpringBoot项目jar包所在目录路径
ApplicationHome home = new ApplicationHome(getClass()); File jarFile = home.getSource(); File homeFile = home.getDir();该类不依赖Spring Boot环境,可以作为工具类使用,路径通过传入的Class获取,内部核心代码仅基于java api核心源码 private File findSource(Class<?> sourceClass) { try .原创 2020-07-16 16:21:55 · 7754 阅读 · 1 评论 -
Spring Boot - 自定义属性及多环境配置
很多人选择Spring Boot就是因为抛弃了以往繁琐的XML配置,我们只需要在pom.xml文件中引入不同的模块,比如spring-boot-starter-web、spring-boot-starter-redis、spring-boot-starter-data-mongodb等,这些模块一般都已经有自己默认的配置,我们只需要在appication.properties中完成一些属性的配置就转载 2017-09-08 13:56:42 · 1456 阅读 · 0 评论 -
SpingBoot 集成 Swagger2
SpringBoot 集成 Swagger21、pom.xml 添加 Maven 依赖<dependencies> ... <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> <dependency> <groupId>io.springfox</groupId> <a.转载 2020-05-27 13:43:02 · 182 阅读 · 0 评论 -
Spring Boot轻松理解动态注入,删除bean
本节大纲 :(1)动态注入bean思路; (2)动态注入实现代码; (3)多次注入同一个bean的情况; (4)动态删除; 接下来我们看下具体的内容:(1)动态注入bean思路; 在具体进行代码实现的时候,我们要知道,Spring管理bean的对象是BeanFactory,具体的是DefaultListableBeanFactory,在这个类当中有一个注入bean的方法:registerBeanDefinition,在调用registerBeanDefinition方法时,需要Be转载 2020-06-09 19:43:46 · 982 阅读 · 0 评论 -
Spring Boot + JSP(官方不推荐)
官方为啥不推荐jsp,参考:https://spring.io/blog/2012/10/30/spring-mvc-from-jsp-and-tiles-to-thymeleaf,里面写了很多,其中我觉得最重要的应该是jsp不利于前端开发,如果是jsp页面前端要怎么运行?怎么看写出来的效果?反正各种不利于前端开发吧,spring 推荐Thymeleaf,它的模版文件就是html,可以直接在浏览器...原创 2017-03-08 19:05:15 · 14414 阅读 · 0 评论 -
springboot过滤器和拦截器的实现和区别
前言springmvc中有两种很普遍的AOP实现:1.过滤器(Filter)2.拦截器(Interceptor)本篇面对的是一些刚接触springboot的人群所以主要讲解filter和interceptor的简单实现和它们之间到底有什么区别(一些复杂的功能我会之后发出文章,请记得关注)Filter的简单实现字面意思:过滤器就是过滤的作用,在web开发中过滤一些我们指定的url那么它能帮我们过滤什...转载 2018-05-08 10:44:56 · 14332 阅读 · 1 评论 -
Spring Boot + Vue 前后端合一
背景随着微服务的火爆,前后端分离成为必由之路在微服务架构下,各个微服务是不会独立对外提供服务的 ,因为各微服务之间需要相互访问,访问是不会有权限校验的,一旦对外发布……,整个微服务集群通过Gateway(微服务之一)对外提供服务、进行路由以及鉴权,这也使得前端必然和后端分离,因为前端是必定要对外能访问的痛点对于一些大型项目来说,前后端分离、微服务架构,无可厚非,但实际上可能根本没有必要,大家只是觉得不用微服务岂不是落伍了,盲目的从众心理吧;但对于一些小型的项目而言,那是真的完全不需要了,比如,就原创 2020-05-22 17:10:10 · 2257 阅读 · 0 评论 -
Spring Boot @Validated 校验
spring boot 1.4默认使用 hibernate validator 5.2.4 Final实现校验功能。hibernate validator 5.2.4 Final是 JSR 349 Bean Validation 1.1的具体实现。一 初步使用 hibernate vilidator主要使用注解的方式对bean进行校验,初步的原创 2018-05-07 17:16:10 · 404 阅读 · 0 评论 -
Spring Boot 2.1.6配置大全
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own app...原创 2019-07-16 19:21:58 · 2084 阅读 · 1 评论 -
Jenkins自动构建spring boot项目
Jenkins自动构建spring boot项目遇到的问题一、构建传输完成后,关闭当前spring boot项目,启动新构建spring boot项目虽然可以通过路径访问进行shutdown(参见官方),可以配置安全验证,但还是感觉有点恐怖,万一被别人shutdown了,那就……,所以最保险起见,还是采用kill的方式(大家有更好的方式可以留言),kill命令需要进程id做参数,即k...原创 2020-04-13 17:10:44 · 721 阅读 · 0 评论 -
Spring异步任务配置、执行@EnableAsync和@Asyncb
以前在执行异步任务时写过这样的代码:public class ThreadUtils { private static final ExecutorService es = Executors.newFixedThreadPool(10); public static void executeAsync(Runnable runnable) { es.submit(runnable); }}在需要使用的地方转载 2020-05-26 18:26:24 · 310 阅读 · 0 评论 -
Spring Boot集成Shiro导致代理失效
现象最近在写单元测试的时候,发现注入的UserService竟然不是Spring生成的代理类,这意味着没有切面,@Transactional注解在UserService内失效,瞬间慌了,赶紧试下其他Service,发现代理成功,没有问题。这就奇怪了……问题经过多方排查,断点跟踪,询问度娘,终于发现是因为Shiro的问题,而且在项目启动时,spring也打出了当前那些类没有被代理,只是因为info输出没有注意。原因没有详细去撸源码,大概原因是Apache提供的shiro-spring-boot-w原创 2022-03-03 16:01:46 · 606 阅读 · 0 评论 -
Spring定时执行@Scheduled从配置文件获取定时
代码@Scheduled(cron = "${schedule.update-ldap-users.cron}" )配置文件schedule.update-ldap-users.cron=0 0/20 * * * *修改配置文件后,需重启代码才能生效原创 2021-05-06 10:55:49 · 1569 阅读 · 0 评论 -
Spring Boot中RestTemplate使用
什么是RestTemplateRestTemplate和Spring中其他的Template类似,RestTemplate是用来访问Restful服务的,使用起来方便快捷;全局单例即可;一、配置1. pom文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </原创 2021-04-22 15:52:16 · 599 阅读 · 0 评论 -
Spring容器中Bean的生命周期
Spring 容器中的 Bean 是有生命周期的,Spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;在指定方法转载 2016-08-10 17:12:22 · 418 阅读 · 0 评论 -
SpringMVC中支持多视图解析
在SpringMVC模式当中可以通过如下配置来支持多视图解析 bean id="JSPViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> property name="viewClass" value="org.springframewo原创 2017-04-17 10:35:40 · 7448 阅读 · 1 评论 -
spring的@Transactional注解详细用法
spring的@Transactional注解详细用法概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Jav转载 2017-11-23 10:49:21 · 369 阅读 · 0 评论 -
Spring Boot 学习笔记
1.@RestController combines @Controller and @ResponseBody, two annotations that results in web requests returning data rather than a view,官方原文意思就是说被@RestController 注解的Controller其中所有方法默认都有@ResponseBody,原创 2017-03-07 10:41:49 · 1259 阅读 · 0 评论 -
RedisTemplate使用说明-opsForValue(一)
1、set(K key, V value) 新增一个字符串类型的值,key是键,value是值。 Java代码 redisTemplate.opsForValue().set("stringValue","bbb"); 2、get(Object key) 获取key键对应的值。 Java代码 String stringVa...转载 2019-01-10 14:20:03 · 30024 阅读 · 2 评论 -
RedisTemplate集合使用说明-opsForList(二)
1、leftPush(K key, V value) 在变量左边添加元素值。 Java代码 redisTemplate.opsForList().leftPush("list","a"); redisTemplate.opsForList().leftPush("list","b"); redisTemplate.opsForList().leftPus...转载 2019-01-10 14:24:10 · 120836 阅读 · 6 评论 -
RedisTemplate map集合使用说明-opsForHash(三)
1、put(H key, HK hashKey, HV value) 新增hashMap值。 Java代码 redisTemplate.opsForHash().put("hashValue","map1","map1-1"); redisTemplate.opsForHash().put("hashValue","map2","map2-2");转载 2019-01-10 14:29:30 · 119577 阅读 · 2 评论 -
RedisTemplate set集合使用说明-opsForSet(四)
1、add(K key, V... values) 向变量中批量添加值。 Java代码 redisTemplate.opsForSet().add("setValue","A","B","C","B","D","E","F"); 2、members(K key) 获取变量中的值。 Jav转载 2019-01-10 14:34:14 · 73336 阅读 · 1 评论 -
Spring在代码中获取bean的几种方式
获取spring中bean的方式总结:方法一:在初始化时保存ApplicationContext对象ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); ac.getBean("beanId");说明:这种方式适用于采用Spring框架的独立应用程序,转载 2016-08-10 14:05:34 · 700 阅读 · 0 评论