Java框架
文章平均质量分 63
Java框架
smileNicky
优秀
展开
-
数据库事务提交后才发送MQ消息解决方案
在项目开发中常常会遇到在一个有数据库操作的方法中,发送MQ消息,如果这种情况消息队列效率比较快,就会出现数据库事务还没提交,消息队列已经执行业务,导致不一致问题。举个应用场景,我们提交一个订单,将流水号放在MQ里,MQ监听到后就会查询订单去做其它业务,如果这时候数据库事务还没提交,也就是没生成订单流水,MQ监听到消息就去执行业务,查询订单,肯定会出现业务不一致问题。原创 2023-11-02 20:45:00 · 1266 阅读 · 0 评论 -
Mybatis自定义枚举类处理器优雅地使用枚举
在和前端开发对接接口过程中经常发现需要一些枚举类的字典参数,虽然可以通过swagger在线文档给前端开发,不过可以直接返回枚举的编码和字典值就可以更直观,所以在项目里怎么实现?可以通过Mybatis的一些接口,自定义枚举类的处理器实现原创 2023-05-11 21:28:19 · 1712 阅读 · 0 评论 -
Spring事件监听机制及观察者模式
观察者模式也可以称之为发布-订阅(Publish/Subscribe)模式,是一种行为型的设计模式。在Spring框架中使用ApplicationEvent和ApplicationListener来实现事件监听机制原创 2022-10-16 09:08:20 · 1081 阅读 · 0 评论 -
EasyExcel合并单元行没填不能解析数据
在做Excel报表开发,要开发一个一对多,合并单元行的Excel导入功能,因为开发时间比较赶,所以想到使用开源的EasyExcel组件来开发,不过在开发中遇到一个问题,就是那些合并单元格,一整行都不填的情况,使用EasyExcel去解析数据时候,是一张行数据都不能解析到,使用过EasyExcel的读者应该可以理解到我的意思,写出来分享出来,希望遇到这个问题的开发者也可以马上处理问题原创 2022-03-18 17:35:41 · 1873 阅读 · 0 评论 -
Spring框架手动注册RequestMapping API
Spring框架手动注册RequestMapping API,业务场景:最近遇到一个特殊需求,需要手动注册RequestMapping ,使用SpringFramework项目里的RequestMappingInfoHandlerMapping进行手动注册原创 2021-07-09 17:29:31 · 1813 阅读 · 0 评论 -
SpringSession系列之通过Redis统计在线用户数量
SpringSession系列之通过Redis统计在线用户数量,最近遇到一个比较紧急的任务,要求统计在线用户,目的是配合性能测评,要求证明自己系统的在线用户能够达标,不过系统因为历史原因,并没有这个功能,所以只能去springSession官网和网上搜资料,想到通过统计redis里缓存的数据...原创 2021-03-23 11:19:03 · 3699 阅读 · 2 评论 -
SpringMVC项目对接CAS服务端实现单点登录
业务场景:之前写过CAS服务端的例子,也对接过基于SpringBoot的CAS,不过最近项目要对接第三方的CAS实现单点登录,而我们项目是基于SpringMVC的,所以就摸索了一下对接方案原创 2020-09-04 14:17:22 · 6000 阅读 · 5 评论 -
Mybatis系列之设置自动提交事务
Mybatis系列之设置自动提交事务业务描述:最近遇到业务很复杂的方法,有通过Spring的@Transactional注解开启事务的,不过在ie11出现bug,console日志打印已经update成功的SQL,方法很长,执行成功后,发现数据没有修改,这个和console日志打印不符合,问题比较难排查,然后通过网上资料个自己尝试fix bug,不过具体原因没有想清,浏览器本身就和事务处理没关系,为什么在不同浏览器会不同效果,所以本博客记录一下,方便以后自己回顾通过网上资料和自己尝试,初步判断是事务没提原创 2020-06-02 15:38:13 · 8006 阅读 · 1 评论 -
springMVC系列之@Responsebody接口弹出f.txt下载问题
springMVC系列之@Responsebody接口弹出下载页面问题最近遇到一个文件上传接口,调用时候出现f.txt下载问题,这个估计很多人都有遇到过,网上找资料,很多博客都是说用如下类似代码:<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"/&原创 2020-05-28 17:16:37 · 2845 阅读 · 0 评论 -
SpringMVC系列之ModelAndView重定向带参数
业务场景:SpringMVC项目使用ModelAndView进行重定向跳转到另外一个action时,需要在url后面带上参数如果是带参数带一个页面,直接用modelAndView.addObject(paramKey,paramValue);原来代码:public ModelAndView toPage(){ .... return new ModelAndView(new Redire...原创 2019-10-25 22:27:53 · 8911 阅读 · 0 评论 -
SpringMVC系列之日期类型接收空值异常
最近遇到SpringMVC写个controller类,传一个空串的字符类型过来,正常情况是会自动转成date类型的,因为数据表对应类类型就是date的解决方法是在controller类的后面加个注解:@InitBinder protected void initDateFormatBinder(WebDataBinder binder) { SimpleDateForm...原创 2019-10-25 22:27:31 · 3056 阅读 · 0 评论 -
Zxing系列之设置二维码图片背景透明教程
继之前的博客:PDF文件添加二维码水印教程、图片添加二维码水印教程之后,对之前的添加二维码水印功能进行完善,之前的程序生成的二维码图片背景不是透明的,所以不是很美观,所以本博客对程序进行完善,对二维码图片设置背景为透明的,不过这样美观了,但是很有可能出现遮住pdf文字或者图片的情况,这种情况会导致二维码不能扫描参考网上教程,封装个方法调用/** * 设置图片背景透明 * @date ...原创 2019-06-28 23:47:35 · 6840 阅读 · 0 评论 -
Zxing系列之图片添加二维码水印教程
继之前博客PDF添加二维码水印教程:https://smilenicky.blog.csdn.net/article/details/91655064, 本博客介绍一下用jdk awt实现图片加文字水印和图片水印的方法原创 2019-06-14 11:50:20 · 8864 阅读 · 7 评论 -
iText系列之PDF文件添加二维码水印教程
继上一篇博客:图片添加二维码水印教程,https://smilenicky.blog.csdn.net/article/details/91653588, 本博客介绍一下,基于iText开源库做PDF文件添加文字水印和图片水印,并基于此基础,事项PDF文件添加二维码水印图片效果原创 2019-06-14 11:49:48 · 5070 阅读 · 4 评论 -
Spring系列之AOP环绕异常影响的报错
最近遇到一个问题,异常是:java.lang.ClassCastException: org.springframework.http.ResponseEntity cannot be cast to org.springframework.web.servlet.ModelAndView网上去stackoverflow搜,也是搜到这个问题:https://stackoverflow.co...原创 2019-05-11 15:13:19 · 4278 阅读 · 1 评论 -
Mybatis系列之自定义SQL拦截器
本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台。先自定义一个拦截器package com.muses.taoshop.common.core.database.config;import org.apache.commons.lang3.StringUtils;import org.apache.ibatis.exe...原创 2018-12-17 23:12:12 · 4486 阅读 · 1 评论 -
mybatis系列之传参为List数据的使用细节
或许是惯性思维,在mybatis使用foreach循环调用的时候,很多时候都是传一个对象,传一个List的情况很少,所以写代码有时候会不注意就用惯性思维方法做了。今天向sql传参,传了一个List作为参数,然后在xml里再foreach循环调用。然后报错信息如:mybatis foreach报错It was either not specified and/or could not be f...原创 2018-12-13 00:21:47 · 4546 阅读 · 0 评论 -
Mybatis系列之全局扫描ant通配符格式的包名
业务场景业务场景:首先项目进行分布式拆分之后,按照模块再分为为api层和service层,web层。其中订单业务的实体类放在com.muses.taoshop.item.entity,而用户相关的实体类放在com.muses.taoshop.user.entity。所以就这样,通过通配符方式去setTypeAliasesPackage ,com.muses.taoshop.*.entityA...原创 2018-12-03 00:02:04 · 4752 阅读 · 0 评论 -
Mybatis系列之前端显示时间格式问题解决方法
我的开发工具是IntelliJ IDEA,然后在SpringBoot集成Mybatis,前端用模块引擎Thymeleaf的过程中遇到几个问题,不过也花了点时间,现在记录下来,作为笔记记录。Invalid bound statement异常开发中经常遇到,下面给出我的两种方法Invalid bound statement (not found):①Mapepr.xml文件中文nameapce...原创 2018-11-03 12:25:18 · 5435 阅读 · 0 评论 -
Quartz系列之任务调度框架原理简介
第一章 Quartz1 Quartz概念2 Quartz任务调度主要元素3 Quartz特点4 Quartz基本元素关系图第二章 Trigger触发器1 Trigger定义2 Trigger属性3 Trigger类型31 SimpleTrigger32 CalendarIntervalTrigger33 DailyTimeIntervalTrigger34 CronTr原创 2018-01-17 17:23:59 · 12324 阅读 · 1 评论 -
Spring系列之IOC(控制反转)介绍
第一章Spring框架简介第二章IOCDI控制反转依赖注入第三章IOC控制反转实现的方式1XML配置方式2注解方式第一章Spring框架简介IOC(控制反转)和AOP(面向方面编程)作为Spring框架的两个核心,很好地实现了解耦合。所以,简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。spring的基本框架主要包含六大模块:DAO、ORM、AOP、JE原创 2017-05-25 21:38:56 · 4283 阅读 · 0 评论 -
Spring系列之注解扫描开启配置
前言DemoXML注册Bean方式Democontextannotation-config注解开启方式Democontextcomponent-scan注解开启方式前言Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: • 在XML中进行显示配置 • 在Java中进行显示配置 • 隐式的bean发现机制和自动装配而自动装配实现就需要注解扫描,这时发原创 2017-05-25 10:57:32 · 38949 阅读 · 4 评论 -
JPA系列之Spring Data JPA系列之入门教程
Spring Data框架和Spring Data JPA简介Spring Data : Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。 下面给出SpringData 项目所支持 NoSQL 存储: MongoDB (文档数据库) Neo4j(图形数据库) Redis(键/值存储) Hbase(列族数据库)SpringData 项目所支持的关系数据存储技原创 2017-02-13 11:00:18 · 3390 阅读 · 0 评论 -
JPA系列之对象持久化API JPA简介
JPA:Java Persistence API,用于对象持久化的 API注意:JPA是规范,不是ORM框架,是ORM框架的规范,JPA没有实现ORM,具体实现由ORM厂商提供现在JPA具体实现框架有:Hibernate、OpenJPA、TopLinkJPA的优势:标准化: 提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。 简单易用,集原创 2017-01-20 15:04:05 · 6698 阅读 · 0 评论 -
WebSocket系列之的网页端即时通讯实现
本博客介绍基于html5的Websocket网页即时通讯技术,前端开发采用ExtJS前端框架 先去官网下载ExtJS框架的资料文件: https://www.sencha.com/products/extjs/evaluate/ 可以参考中文翻译过来的官网查看API: http://extjs-doc-cn.github.io/ext4api/ 下载集成的jar: websocket.c原创 2017-01-05 14:52:01 · 24819 阅读 · 12 评论 -
SSM框架系列之框架整合教程
很久之前就想写的教程,因为忙着找实习的原因,没有整理出来,首先SSM框架组合(SpringMVC+Spring+Mybatis)和SSH(Spring4.0+Struts2+Hibernate4.0)组合是外面企业里很常用的两种MVC架构,本博客介绍SSM框架组合,这种MVC架构的搭建过程jar准备的话,可以用maven或者网上下载 SpringMVC需要的jar jar作用详解(网上收集):原创 2017-01-02 17:01:04 · 4616 阅读 · 2 评论 -
Fusioncharts系列之基于Fusioncharts的报表统计
本博客介绍fusioncharts插件的使用 先了解fusioncharts插件,fusioncharts是一款基于XML和flash的报表组件,支持Java、PHP、AngularJS等等开发语言,所以,开发出来,加入swf文件,就可以出现动态效果的报表统计,具有2D和3D效果的图表,下面是官网和详细分类官网:http://www.fusioncharts.com/Fusioncharts插件的原创 2016-12-27 16:41:49 · 4039 阅读 · 0 评论 -
SMTP系列之邮件发送功能JavaEE实现
本博客介绍基于SSM框架(Spring4.0+SpringMVC+Mybatis)组合的Javamail应用,邮箱的话基于腾讯的QQ邮箱,其实也是Foxmail邮箱先要了解一下SMTP协议和SSL加密 SMTP:称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。SMTP是一种请求响应的协议,也就是客户机向远程服务器发送请求,服原创 2016-12-26 17:22:28 · 9273 阅读 · 12 评论 -
SpringMVC系列之开发登录界面的验证码
本博客介绍如何开发登录界面的验证码先写个验证码生成的Controller类:package com.appweb.controller.login;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.font.FontRenderContext;...原创 2016-09-24 12:23:44 · 14193 阅读 · 14 评论 -
SSM框架系列之日志管理实现
本博客介绍log4j的日志管理配置log4j.peroperties:在D盘创建一个logs的文件夹来存放日志### set log levels ### log4j.rootLogger = info , Console , D#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlo...原创 2016-09-16 12:29:32 · 14854 阅读 · 0 评论 -
SSM框架系列之数据库连接池druid的使用
druid框架是阿里开源的一款数据库连接池框架,本博客介绍其使用优点:替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导...原创 2016-09-16 12:13:04 · 9356 阅读 · 0 评论 -
SSM框架系列之使用POI技术导出Excel表
POI框架是Apache开源的可以导出导入Excel表的,本博客介绍在SSM(Spring+SpringMVC+Mybatis)项目里,如何使用POI框架,导出Excel表这里我们先要去Apache官网下载jar然后,就可以先编程了先提供一个封装的httpservlet请求和添加数据的类public class PageData extends HashMa...原创 2016-09-13 16:00:12 · 22582 阅读 · 49 评论 -
SpringMVC拦截器实现登录认证
博客以Demo的形式讲诉拦截器的使用项目结构如图:需要的jar:有springMVC配置需要的jar和jstl需要的jarSpringMVC包的作用说明:aopalliance.jar:这个包是AOP联盟的API包,里面包含了针对面向切面的接口。通常spring等其它具备动态织入功能的框架依赖这个jarspring-core.jar:原创 2016-05-15 22:19:28 · 84030 阅读 · 11 评论 -
MyBatis系列之模糊查询(注解方式+映射文件方式)
本博客以一个demo的形式说明模糊查询实现的两种方法:项目结构如图:ConditionUser.java:package com.mybatis.entity;public class ConditionUser { private String name; private int minAge; private int maxAge; p...原创 2016-05-02 00:31:44 · 20370 阅读 · 2 评论 -
MyBatis系列之关联查询(一对一)
我们以一个例子demo的形式,说明Mybatis的一对一关联查询设计teachers表classes表设置外键classes表classes表是课程表,teachers表是教师信息表这里是一对一的关联关系,当然实际中一般不是这样的,一般可以是多对多,不过这里只是举例子项目的结构,如图:Classes.java:package co...原创 2016-05-01 23:26:27 · 7873 阅读 · 0 评论 -
Mybatis系列之全注解方式操作数据库例子
User.java:package com.mybatis.entity;public class User { /* * ID */ private int id; /* * 用户姓名 */ private String name; /* * age */ private int age; publi...原创 2016-05-01 15:41:50 · 7894 阅读 · 1 评论 -
MyBatis系列之入门教程(MyBatis3.2)
MyBatis和Hibernate一样都是基于ORM的关系型数据库框架ORM工具的基本思想:1.从配置文件(通常是XML配置文件中)得到 sessionfactory.2. 由sessionfactory产生 session3. 在session中完成对数据的增删改查和事务提交等.4. 在用完之后关闭session。5.在java对象和数据库之间有做mapping的配置文...原创 2016-04-30 17:35:51 · 12443 阅读 · 2 评论 -
SpringMVC系列之原理简介和入门教程
先看SpringMVC的图解新建项目,新建一个config资源文件夹,配置文件web.xml:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3...原创 2016-04-15 15:49:21 · 7110 阅读 · 2 评论 -
SSH框架系列之框架整合教程
我以我做的一个例子来说明框架的搭建过程 ^V^!项目结构如图:action:存放Action类,也就是控制类dao:DAO数据库操作po:POJO类,也就是持久化类service:存放Service类dao类在Service类里调用,然后Service类再到action类里调用搭建过程我们先要准备jar价包,这个可以去官网下载...原创 2016-02-02 00:19:51 · 7837 阅读 · 14 评论 -
SSH框架系列之将jsp页面放在WEB-INF的原因
在一些安全型要求比较高的项目开发中,我们经常看到jsp页面都被放在WEB-INF下面了。这是出于对安全性的考虑,是为了代码的安全。这样实现起来虽然麻烦了点,而且页面跳转很不方便。但是整个项目的安全性就提高上去了!所以还是建议在一些安全性要求比较高的项目里使用这种做法!这是我写的一个例子,我就是将所有的JSP页面都放在WEB-INF下面,然后按照模块进行分配,course文...原创 2016-02-01 23:44:01 · 5468 阅读 · 0 评论