Java
无关风月u
怕什么真理无穷,进一寸有一寸的欢喜
展开
-
JPA动态数据源实现多数据源切换数据源失败
遇到一个问题配置动态数据源之后,同一个请求,不同事务无法多次切换数据源解决方案:spring.jpa.open-in-view=false原因:spring.jpa.open-in-view(默认为true),JPA方法执行完成之后,并没有释放数据库连接(需要等到Controller方法执行完成才会释放)这里还有一点要注意数据源的切换是通过AbstractRoutingDataSource 的 determineCurrentLookupKey()实现,数据库建立连接时getConnecti原创 2022-04-08 15:43:17 · 2545 阅读 · 3 评论 -
Spring AOP 子类继承父类
spring aop 继承原创 2021-02-26 15:01:27 · 2305 阅读 · 0 评论 -
Hibernate jpa 乐观锁 save方法 更新数据
以下代码中 参数sPartsStock,是从页面上传过来的。1 现象一这段代码,执行完,提交事务的时候,数据库里的值 WareHouseId 会被更新,但是代码里并没有写save或者update方法原因:库里查出的对象 sPartsStock123 是 托管状态 会自动同步到数据库,不会验证乐观锁,执行flush操作2 现象二代码执行前,手动把数据库里的version字段+1,也就是说sPartsStock 中的version为 100,sPartsStock123 中的v...原创 2020-09-01 17:34:05 · 1428 阅读 · 0 评论 -
SpringBoot + Shiro 前后端分离权限
shiro 验证通过后的信息保存在session 中,而ajax 每次传的都是不同的sessionid ,所以主要的区别就是需要修改shiro获取sessionid的方式。这里使用的是登录后将后台的sessionid 传到前端然后存放到 cookie(这个存放的地方视情况而定),然后每次请求后端时在Header中携带此信息,这里起名为Authorizationshiro 中 默认获取Sessi...原创 2018-12-29 16:28:50 · 671 阅读 · 0 评论 -
Shiro+Cas+Spring+Vue 前后端分离单点登录实现
要实现单点登录的重点其实就是将 账号密码的验证 给独立出来当做一个独立的项目,只需要在此项目上一次通过验证即可。而此项目不需要自己从头来写,已经有很多开源的实现。这里使用的是CAS使用 CAS+Shiro 之前一定要,搞明白运行原理,可以少出和解决问题去网上下载 cas-server-webapp-4.2.6.war 这个war(版本随意,4.2后配置文件可能有差别),修改为cas....原创 2018-12-29 17:16:56 · 9931 阅读 · 3 评论 -
Vue 使用 axios 访问后台
1.vue中使用mock 可以模拟请求数据。 但是axios中使用真实地址时需要禁用mock,否则axiox 正常访问地址。 2.后台数据需要跨域访问时需要在后台允许跨域访问。 spring boot 为例@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() ...原创 2018-12-19 12:55:01 · 663 阅读 · 0 评论 -
javamail linux 发送邮件遇到的问题
window 本地邮件正常发送,Linux邮件发送失败原因:linux 无法解析域名 (smtp.ym.163.com)办法:/etc/hosts 文件中添加 ip 域名 如:111.1.1.1 smtp.ym.163.com ip获取 window 下 pingsmtp.ym.163.com 可以获取ip邮件发送成功,...原创 2019-04-30 16:42:42 · 1090 阅读 · 0 评论 -
redis + aop 限制方法频率,防止重复提交
项目在运行时期,访问时会因为网络卡顿等原因造成重复点击,多次提交的问题。尝试在前端做过限制,之后觉得使用redis 更为简单。1. redis 可以 设置过期时间,符合需求2.使用spring aop,只需要配置第一次,之后不需要更改实现思路,用户10秒内不能执行第二次新增方法,以用户ID 作为 key。AOP@Aspect@Componentpublic clas...原创 2019-05-09 15:02:51 · 1003 阅读 · 0 评论 -
activiti 撤销
要实现:用户发起任务后在审批完之前可以手动撤销实现: 1.查询出当前流程,我用的根据businesskey查询ProcessInstance processInstance = runtimeService.createProcessInstanceQuery(). processInstanceBusinessKey(objId).includeProces...原创 2019-05-27 10:20:00 · 4596 阅读 · 0 评论 -
java 发送邮件 带附件或者表格
package com.sub.utils;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.*;import java...原创 2018-12-10 14:58:05 · 5063 阅读 · 1 评论 -
Spring 注入实现类报错问题
在使用spring 时,假如在controller中注入了impl 实现类可能会出现报错的情况。为什么是“可能”,① 假如没用使用spring aop ,则不会报错。 ② 类没用使用接口也不会报错。1、为什么使用 aop 会导致报错: spring aop的实现是基于动态代理 如果目标对象实现了接口,那么...原创 2018-11-05 14:28:11 · 1706 阅读 · 2 评论 -
mysql 存储过程创建及调用
返回(查询users表的条数 + 传入的数字)CREATE DEFINER=`root`@`localhost` PROCEDURE `getcount`(OUT s INT, IN t INT)BEGIN SET @t = (SELECT COUNT(1) FROM users); SET s = @t+t;END运行,users表22条数据 加 5 返回 27...原创 2018-08-29 14:37:46 · 281 阅读 · 0 评论 -
从浏览器输入网址到页面显示之间的过程
发起一个HTTP连接本质上就是建立一个scoket连接 之间发生的事情: 1.浏览器向DNS服务器查找输入URL对应的IP地址 这里面需要做的就是DNS解析。我们都知道互联网是通过URL来发布和请求资源的,而URL中的域名需要解析成IP地址才能与远程主机建立连接。 DNS域名解析的前两步会去浏览器缓存中和操作系统缓存中查看有没有这个域名原创 2017-11-29 16:38:36 · 1645 阅读 · 0 评论 -
java 快捷键
1、自动生成方法的注释格式,例如/*** @param str* @return* @throws ParseException*/快捷键是 ALT + SHIFT + J,将光标放在方法名上,按快捷键。会生成上述方法注释的格式。原创 2017-10-15 10:13:31 · 251 阅读 · 0 评论 -
1+N 多form表单拼接传值
应用场景 一个报销审批对应多个出差项目填写js取值 var formone = $("#formone").serializeArray(); var obj = {}; $.each(formone, function(i, v){ ...原创 2018-05-23 17:48:38 · 744 阅读 · 0 评论 -
java 8 lambda表达式
一块钱的讲解视频一、lambda 表达式优点:1.函数式编程 2.参数类型自动推断 3.代码少、简洁 Lambda表达式是对象,是一个函数式接口的实例 语法 : LambdaParameters(参数)-> LambdaBody(实现逻辑)二、lambda表达式的使用场景: 任何有函数式接口的地方。 函数式接口:有且仅有一个抽象...原创 2018-06-07 17:24:09 · 274 阅读 · 0 评论 -
shiro 从数据库中获取url 配置权限
目标:这种配置是写死的,而我们需要做活1、使用 perms 如: /admins/user/**=perms[user:add:*]表示:要访问【/admins/user/**】必须具有【user:add:* 】权限 perms支持使用逗号隔开,不过需要两个权限都有才可以2、原配置类为 ShiroFilterFactoryBean <bean ...原创 2018-07-17 18:28:09 · 2530 阅读 · 7 评论 -
slf4j+logback实现日志管理
使用日志框架的好处: 定制输出目标 定制输出格式 携带上下文信息 运行时选择性输出 灵活配置 优异的性能实现分为两部分 日志门面 和 日志实现,各个版本如下 筛选过程: 去掉jul,太过简陋 jboss不是服务大众 作者升级log4j到logback log4j2适应性不强 slf4j和logback为同一作者使用: 一、导入ja...原创 2018-07-12 09:41:47 · 554 阅读 · 0 评论 -
Spring+Mybatis修改Mybatis日志配置
Mybatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(依次为:SLF4J,Apache Commons Logging,Log4j 2,Log4j),如果一个都未找到,日志功能就会被禁用。...原创 2018-07-12 09:55:57 · 2226 阅读 · 0 评论 -
activiti会签多人审批(通过以及驳回)
一、需求 用户发起审批后,需要经过 总经理 以及 财务部长 两人同时审批。两人通过极为通过,一人拒绝即为拒绝。拒绝后用户修改重新审批或者放弃申请。二、用到的东西 1 单一网关 2 用户任务(多实例)三、使用 1.流程图 2. 设置②用户任务 多实例类型:设置为并行,...原创 2018-08-09 08:54:20 · 38188 阅读 · 10 评论 -
Java web项目换页的简单实现方式
使用框架简单的实现换页原创 2017-09-30 16:00:45 · 1910 阅读 · 1 评论