Java_SSM
文章平均质量分 51
Java_SSM
江湖之笑
这个作者很懒,什么都没留下…
展开
-
Springboot2集成Shiro框架(九)配置多个realm
目录1、使用场景2、多realm认证处理方式2.1 两种认证方式2.2 使用多realm时的认证策略3、处理思路4、代码部分4.1新建realm4.1.1 自定义realm抽象类4.1.2新增其他的realm4.2重写ModularRealmAuthenticator,自定义realm的使用4.3重写UsernamePasswordToken4.4 登录controller把loginType加入4.5 模拟数据库数据处理4.6把自定义的realm和MyModularRealmA原创 2021-09-08 11:28:10 · 879 阅读 · 0 评论 -
Shiro-多Realm验证
1.多Realm验证 存在这样一种场景,同一个密码可能在MqSQL中存储,也可能在Oracle中存储,有可能MqSQL中使用的是MD5加密算法,而Oracle使用SHA1加密算法。这就需要有多个Realm以及认证策略的问题。 通过查看源码可以看到ModularRealmAuthenticator.class 中的doAuthenticate protected AuthenticationInfo doAuthenticate(AuthenticationToken ..原创 2021-09-08 11:26:10 · 1068 阅读 · 0 评论 -
Spring如何加载log4j配置文件
今天有朋友在群里问了这个问题,于是写了这篇文章进行整理。问题如下:在项目中添加了log4j.properties配置文件,并没有在Spring配置文件中配置,也没有在web.xml中配置,但是代码中却可以正常使用log4j的功能,那么Spring是如何加载并使用这个log4j配置文件的呢?答案整理如下:·Spring默认加载的是classpath根目录下面的log4j.prop...原创 2019-10-10 14:29:40 · 399 阅读 · 0 评论 -
Mybatis整合Spring -- typeAliasesPackage
Mybatis整合SpringintegrationMapperScannerConfigurer Mybatis整合Spring 根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用...转载 2019-02-26 09:45:13 · 6655 阅读 · 1 评论 -
关于MyBatis中insert返回值与SQLserver触发器/存储过程返回执行结果的问题
今天刚把Mybatis配置好,正处调试阶段。测试类写了:BorrowRecord,用于记录借书记录。Book,管理书名及库存情况。BorrowRecord表如下:CREATE TABLE [dbo].[BorrowRecord]([BorrowRecordID] [int] IDENTITY(1,1) NOT NULL,[StudentID] [int] NULL,[BookID...转载 2018-12-06 17:14:59 · 801 阅读 · 0 评论 -
EhCache 分布式缓存/缓存集群
开发环境:System:WindowsJavaEE Server:tomcat5.0.2.8、tomcat6JavaSDK: jdk6+IDE:eclipse、MyEclipse 6.6 开发依赖库:JDK6、 JavaEE5、ehcache-core-2.5.2.jarEmail:hoojo_@126.comBlog:http://blog.csdn.net/...转载 2018-11-01 13:00:39 · 1046 阅读 · 0 评论 -
集群环境中使用 EhCache 缓存系统
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tang06211015/article/details/52281551 EhCache 缓存系统 : 本章节将要介绍EhCache及EhCache实现分布式的一些解决方案、并针对于这些解决性方案做一个实现,后续将出一个提供项目模块化、服务化、插件化的VieMall快速开发平台,同...转载 2018-11-01 10:31:08 · 260 阅读 · 0 评论 -
Mybatis(3、延迟加载、查询缓存、与ehcache整合、逆向工程、与spring整合)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/www1056481167/article/details/70597788延迟加载延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高 数据库性能,因为查询单表要比关联查询多张表速度要快。使用association实现延迟加载需要先定义连个mapper的方法对应的statem...转载 2018-10-31 16:40:07 · 151 阅读 · 0 评论 -
myBatis自带的缓存配置(Cache)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sotong006/article/details/78878820如果要实现 mybatis 的二级缓存,一般来说有如下两种方式:1. 采用 mybatis 内置的 cache 机制。2. 采用三方 cache 框架, 比如ehcache, oscache 等等.采用 mybati...转载 2018-10-31 15:22:18 · 542 阅读 · 0 评论 -
数据库连接池Druid使用总结
根据综合性能,可靠性,稳定性,扩展性,易用性等因素替换成最优的数据库连接池。Druid:druid-1.0.29数据库 Mysql.5.6.17替换目标:替换掉C3P0,用druid来替换替换原因: 1、性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益于最大限度的避免锁竞争。2、...转载 2018-08-07 14:56:18 · 236 阅读 · 0 评论 -
Log4j配置spring+druid打印日志
https://blog.csdn.net/A__yes/article/details/53925404druidspring.xml <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> ...转载 2018-08-07 14:54:33 · 4498 阅读 · 0 评论 -
myBatis +mysql自动生成uuid主键
<insert id="insert" parameterType="com.mawulou.model.Functions" > <selectKey keyProperty="pkGlobalId" resultType="String" order="BEFORE"> select replace(uuid(),'-'转载 2018-07-27 12:51:11 · 4745 阅读 · 0 评论 -
解决ssm环境下配置log4j打印mybatis的sql语句无效的问题
首先附上官网的说明文档: mybatis Logging 环境spring4.3.0+springmvc4.3.0+mybatis3.4.0 按官方文档的说明1 SLF4J2 Apache Commons Logging3 Log4j 24 Log4j5 JDK logging1 2 3 4 5 6,mybatis会使用最先找到的(按上文列举的顺序查找),不少...转载 2018-07-25 17:15:42 · 962 阅读 · 0 评论 -
JavaWeb项目从零开始(3)--- 集成Mybatis-Plus,简化开发,增强工作效率
1 2(一)简介Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。http://mp.baomidou.com/#/ 官方文档(二)特性 无侵入:Mybatis-Plus 在 Mybatis 的基础上进行扩展,只做增强不做改变,引入 Mybatis-Plus 不会对您现有的...转载 2018-07-24 16:00:24 · 1146 阅读 · 0 评论 -
MyBatis通用dao和通用service
更新于2015/01/29,增加了第三种方法##更新于2015/02/09,第三种方法方法改进,service实现上不需要加泛型概述:使用通用dao和通用service可以减少代码的开发。可以将常用的增删改查放到通用dao中。对不同的or框架,基本上都有自己的实现如SpringJPA的Repository就提供了常用的增删改查方法。而MyBatis借助代码生成工具也可以生成常用方法的映...转载 2018-07-23 10:34:11 · 512 阅读 · 0 评论 -
MyBatis学习 之 二、SQL语句映射文件(1)resultMap
二、SQL语句映射文件(1)resultMap MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySqlMyBatis学习 之 二、SQL语句映射文件(1)resultMapMyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存MyBatis学习 之 三、动态SQL语句MyBatis学习 之 四、MyBatis配置转载 2017-06-10 15:55:25 · 192 阅读 · 0 评论 -
MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
一、MyBatis简介与配置MyBatis+Spring+MySqlMyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySqlMyBatis学习 之 二、SQL语句映射文件(1)resultMapMyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存MyBatis学习 之 三、动态SQL语句MyBa转载 2017-06-10 15:52:19 · 263 阅读 · 0 评论 -
mybatis半自动生成entity和mapper文件工具使用
关于Mybatis+Eclipse快速映射成代码如下:1.附件为mybaits自动生成工具,在mybatis文件夹下的eclipse目录下的features和plugins拷贝 到eclipse个相应目录覆盖即可完成安装,重启Eclipse。2.将 mybatorConfig.xml文件放到项目任何目录下(如何生成如末尾演示图)。 文件中转载 2017-02-06 10:46:33 · 980 阅读 · 0 评论 -
iBatis开发环境搭建和第一个程序
iBatis是一款使用方便的数据访问工具,也可作为数据持久层的框架。和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比,iBatis是将SQL语句映射为Java对象。相对于全自动SQL的Hibernate,iBatis允许你对SQL有完全控制权,可以视为半自动的数据访问工具。 iBatis的最大优点是简便,轻量级,仅需iBatis的一个jar和数据库的驱动即可运行转载 2014-03-10 08:45:42 · 633 阅读 · 0 评论 -
springboot整合freemarker以及auto_import、auto_include配置使用
1.application.properties配置:# FREEMARKER (FreeMarkerAutoConfiguration) spring.freemarker.allow-request-override=falsespring.freemarker.allow-session-override=falsespring.freemarker.cache=falsespring.f...原创 2021-06-09 08:46:26 · 659 阅读 · 0 评论 -
Java高并发情况下的锁机制优化
本文主要讲并行优化的几种方式, 其结构如下:锁优化减少锁的持有时间例如避免给整个方法加锁1 public synchronized void syncMethod(){ 2 othercode1(); 3 mutextMethod(); 4 othercode2(); 5 }改进后1 ...原创 2019-11-25 13:14:33 · 272 阅读 · 0 评论 -
Struts2入门示例教程
回顾Struts2的使用过程,网上搜的教程多多少少都会有点问题,重新记录下创建过程,方便查阅。1、下载Struts2的jar包下载地址:http://archive.apache.org/dist/struts/binaries/我用的是struts-2.3.14-all.zip这个版本2、创建一个web project项目下面给出所有文件均创建完成后的工程师图转载 2017-02-07 09:19:57 · 371 阅读 · 0 评论 -
Struts2-表单验证的两种方
1. Struts2中的输入校验2. 编码方式校验 1) Action一定要继承自ActionSupport 2) 针对某个要进行校验的请求处理方法编写一个 public void validateXxx()方法,在方法内部进行表单数据校验. 3) 也可针对所有的请求处理方法编写public void validate()方法。 4) 在校验方法中,可以通过addFieldEr...转载 2018-08-21 11:48:53 · 209 阅读 · 0 评论 -
基于 Struts2 的单文件和多文件上传
文件的上传下载是 Web 开发中老生常谈的功能,基于 Struts2 框架对于实现这一功能,更是能够给我们带来很多的便利。Struts2 已经有默认的 upload 拦截器。我们只需要写参数,它就会自动帮我们封装好。这篇我们就先来看一下基于 Struts2 的单文件和多文件上传。一、 单文件上传1.1 导 jar 包commons-fileupload-1.3.jarcommons...转载 2018-08-31 10:34:18 · 178 阅读 · 0 评论 -
SSH:Struts2框架(Tag标签的使用)
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-tags"%>struts2的标签共分为五大类:一、逻辑控制标签用于进行逻辑控制输出。主要分以下几类:1)条件标签:用于执行基本的条件流转<s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示。...转载 2018-08-21 09:40:16 · 835 阅读 · 0 评论 -
Struts2 学习系列 (4) ValueStack和OGNL
1. 关于值栈:1). helloWorld 时, ${productName} 读取 productName 值, 实际上该属性并不在 request 等域对象中, 而是从值栈中获取的.此时的request是经过了strust2封装的,并不是原生的request.2). ValueStack: I. 可以从 ActionContext 中获取值栈对象II. 值栈分为两个逻辑部分>...转载 2018-08-22 09:18:39 · 185 阅读 · 0 评论 -
Struts2 validation验证讲解(annotaion方式)
我们可以在需要验证的方法上写上以下注解:@Validati*****(requiredStrings = { @RequiredStringValidator(fieldName = "oldPassword", message = "旧密码不允许为空!"), @RequiredStringValidator(fieldName = "newPassword", me...原创 2018-08-21 15:55:23 · 467 阅读 · 0 评论 -
truts2:对Action中方法进行输入校验
源码下载地址:http://download.csdn.net/detail/zhoujing_0424/9239429 在struts2中,我们可以实现对action的所有方法进行校验或对action的指定方法进行校验。对于输入校验,struts2提供了两种实现方法: 1.采用手工编写代码实现 2.基于XML配置方式实现1.采用手工编写代码实现 (1)首先提供输入界面inputVal...转载 2018-08-21 17:12:59 · 266 阅读 · 0 评论 -
关于 struts2 中 prepare 接口实现数据准备
之前做过不少的项目,所有的action只实现了一个execute()方法,也用到过Preparable接口,并没注意到它的具体用法。随着项目的需 求的增加,按照以前的方法,每一个功能都需要一个action,这样势必会造成action类的大规模膨胀。所以决定采取action!method的形 式,这样在一个action中可以包含很多方法,减少了action类的数量,也便于维护。把crud方法放在...转载 2018-08-21 17:50:00 · 678 阅读 · 0 评论 -
一个很不错的AspectJ的Execution表达式说明
1、Spring AOP支持的AspectJ切入点指示符切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点; within:用于匹配指定类型内的方法执行; this:用于匹配当前AOP代理...转载 2018-08-29 13:23:45 · 7609 阅读 · 0 评论 -
Java Spring AOP用法
Spring AOPJava web 环境搭建Java web 项目搭建Java Spring IOC用法https://www.cnblogs.com/flowwind/p/4782606.htmlspring提供了两个核心功能,一个是IoC(控制反转),另外一个便是Aop(面向切面编程),IoC有助于应用对象之间的解耦,AOP则可以实现横切关注点(如日志、安全、缓存和事务管理)与他们...转载 2018-11-02 16:29:23 · 201 阅读 · 0 评论 -
struts2 s:if标签以及 #,%{},%{#}的使用方法等在资料整理
<s:if>判断字符串的问题: 1、判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session中取出username的值,并且判断其是否为c,但是这样判断是不正确的,这样判断的话,根本判断不出来,要改成下面这样: <s:if test="#session.user.username=='...转载 2018-08-16 10:46:58 · 169 阅读 · 0 评论 -
Struts2标签库常用标签
Struts2标签库常用标签基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分。Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上。控制器主要由Action来提供支持,而视图则是由大量的标签来提供支持。 在JavaWeb中,Struts2标签库是一个比较完善,而且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化...转载 2018-08-16 10:26:34 · 532 阅读 · 0 评论 -
Struts2在FreeMarker中国际化的配置
在Struts2中使用FreeMarker作为表现层已经基本作为普遍配置了。但是熟悉JSP的开发者习惯了JSP标签的使用,而FreeMarker中确实宏的使用,二者虽然有些差别,但是使用上能够很快过渡。 国际化是Java EE项目中一个不可缺少的部分,当然不是每个项目所必需的,但关键时刻却是不能避免的。当然也有项目做两个路径来进行,把语言区分开来,这也是可以的,当然这需要大量的劳动...转载 2018-08-16 10:10:25 · 209 阅读 · 0 评论 -
Struts2 常用的常量配置
设置url请求后缀 --> constant name="struts.action.extension" value="do,action,html,htm">constant> 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 --> constant name="struts.i18n.enco转载 2017-02-07 11:04:30 · 922 阅读 · 0 评论 -
Struts2的基本流程的详细介绍
Struts2的基本流程10级学员 张帅鹏课堂笔记概述:Struts2框架由三部分构成:核心控制器、业务控制器和用户实现的业务逻辑组件。在这三部分中,struts2框架提供了核心控制器StrutsPrepareAndExecuteFilter,而用户需要实现业务控制层和业务逻辑层。一、核心控制器 StrutsPrepareAndExecuteFilter StrutsPrepa转载 2017-02-07 10:36:19 · 1963 阅读 · 0 评论 -
struts2 中 Actionsupport 的作用
struts2 中 Actionsupport 的作用 Action 跟 Actionsupport 的区别 当我们在写action的时候,可以实现Action接口,也可以继承Actionsupport这个类.到底这两个有什么区别呢? Action接口有: public static final java.lang.String SUCCESS = "suc转载 2017-02-07 10:32:34 · 217 阅读 · 0 评论 -
Struts2 运行流程图详细解剖
前情提要~先实现一个基于struts2 mvc的HelloWorld,下来让我们详细解剖struts2的运行流程吧~ 在web.xml中配置了Struts2的过滤器 写了一个Action类,名称为HelloWorldAction 在struts.xml中配置了这个Action类 写了两个页面,一个是登录页面,一个是欢迎页面只做了这么点事情,就可以在Struts2的帮助下顺转载 2017-02-07 10:20:55 · 840 阅读 · 0 评论 -
让Struts2与Spring进行整合原因及原理
转自:http://lisaiqiang1101.blog.163.com/blog/static/17398426820111611450735/Struts2与Spring进行整合的根本目的就是要让 Spring为Struts2的Action注入所需的资源对象,它们整合的原理则是只要导入了struts2的spring插件包,不需要进行任何额外的配置,Struts2的Action实例对象转载 2017-02-07 09:58:28 · 1014 阅读 · 0 评论 -
struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Serv转载 2017-02-07 09:49:18 · 177 阅读 · 0 评论