SSM学习笔记
文章平均质量分 92
蔡小波
啦啦啦啦啦~
展开
-
SpringMVC详细入门教程( IDEA)
我用的是IDEA 2018.3.2版本通过IDEA建立一个简单SpringMVC项目的大致过程:通过IDEA新建SpringMVC项目 设置运行、调试相关配置 导入Spring MVC 相关类库 添加 Controller【MVC的C】 修改 url-pattern(web.xml) 配置 component-scan(dispatcher-servlet.xml) 配置 Vi...原创 2018-12-28 18:06:50 · 5561 阅读 · 3 评论 -
Maven 三种archetype说明
新建Maven project项目时,需要选择archetype。那么,什么是archetype?archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合,因为我们正在努力提供一种系统,该系统提供了一种生成Maven项目的一致的手段。原型将帮助作者为用户创建Maven项目模板,并为用户提...原创 2019-01-10 00:29:46 · 365 阅读 · 0 评论 -
mybatis 中 foreach 及 collection 的用法
链接:mybatis的select、insert、update、delete语句foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。或者批量插入数据;foreach的说明:collection:指定要遍历的集合list类型的参数会特殊处理封装在map中,map的key就叫listitem:将当前遍历出的元素赋值给指定的变量separator:每个元素之间的分隔...原创 2019-01-03 13:26:31 · 1837 阅读 · 0 评论 -
spring框架中AOP思想与各种配置详解
Spring中提供两种AOP支持: 1.基于代理的经典AOP 2.Aspectj注解配置AOP 首先我们先了解什么是AOP,AOP(Aspect Oriented Programming)面向切面编程!AOP采用了横向抽取机制(可能有人会说啥叫横向抽取机制,在这里先引入一个纵向继承的概念),取代了纵向继承的重复性代码(例如权限控制、性能监视、缓存) spring A...转载 2019-01-06 01:48:15 · 497 阅读 · 8 评论 -
Spring AOP的execution切入点表达式
Spring AOP 可能会经常使用 execution切入点指示符。执行表达式的格式如下:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)除了返回类型模式(上面代码片断中的ret-typ...原创 2019-01-06 01:12:37 · 671 阅读 · 0 评论 -
Spring中:classpath路径,ClassPathXmlApplicationContext和FileSystemXmlApplicationContext用法
首先:// ClassPathXmlApplicationContext 是读取 src 目录下的配置文件ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");// FileSystemXmlApplicationContext 即系统文件路径,文件的目录。(注意:如...原创 2019-01-05 23:15:19 · 1766 阅读 · 0 评论 -
Spring AOP的proxy-target-class详解
proxy-target-class该属性值默认为false,表示使用JDK动态代理织入增强;当值为true时,表示使用CGLib动态代理织入增强;但是,即使设置为false,如果目标类没有生命接口,则Spring将自动使用CGLib动态代理.proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。为true则是基于类的代理将起作用(需要cglib库), 为...原创 2019-01-05 22:58:54 · 8750 阅读 · 1 评论 -
配置AOP时报错:java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to
报错:Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to ********看报错信息,显示的是动态代理生成的类无法转换到我们自定义的实现类。原因:业务层实现了接口 解决方法:方法一:切面配置事务的地方修改成:<aop:con...原创 2019-01-05 21:13:17 · 4443 阅读 · 1 评论 -
Spring的AOP实现例子
一、为什么需要AOP假如我们应用中有n个业务逻辑组件,每个业务逻辑组件又有m个方法,那现在我们的应用就一共包含了n*m个方法,我会抱怨方法太多。。。现在,我有这样一个需求,每个方法都增加一个通用的功能,常见的如:事务处理,日志,权限控制。。。最容易想到的方法,先定义一个额外的方法,实现该功能,然后再每个需要实现这个功能的地方去调用这个额外的方法。这种做法的好处和坏处分别是。好处:可以动态地添...原创 2019-01-06 01:27:22 · 6296 阅读 · 0 评论 -
java的代理模式——CgLib代理
什么是CglibCglib是一个强大的,高性能,高质量的代码生成类库。它可以在运行期扩展JAVA类与实现JAVA接口。其底层实现是通过ASM字节码处理框架来转换字节码并生成新的类。大部分功能实际上是ASM所提供的,Cglib只是封装了ASM,简化了ASM操作,实现了运行期生成新的class。CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP和...原创 2019-01-05 18:19:10 · 375 阅读 · 0 评论 -
对Spring AOP 的通俗理解
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而已。 2.为什么用aop 1就是为了方便,看一个国外很有名的大师说,编程的...原创 2019-01-04 23:20:57 · 168 阅读 · 0 评论 -
SSM框架的一些常见问题
SpringSpring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。SpringMVCSpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是...原创 2019-01-04 16:47:03 · 6197 阅读 · 0 评论 -
SpringBoot,总结了这 16 条最佳实践
前言Spring Boot是最流行的用于开发微服务的Java框架。在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章。在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目)。以下依次列出了最佳实践,排名不分先后。1、使用自定义BOM...原创 2019-01-04 16:27:21 · 2609 阅读 · 0 评论 -
Spring / MyBatis——插件机制(AOP)
链接:MyBatis学习笔记——插件机制(AOP)链接:通过aop拦截mybatis接口dao(拦截带有emoji表情) 关于AOP 1. 什么是 AOP? Aspect Orentied Programming:面向切面编程 Object Orentied Programming:面向对象编程 AOP 编程是以 OOP 为基础,OOP 侧...原创 2019-01-04 16:15:02 · 2352 阅读 · 0 评论 -
SSM整合html使用Ajax时,success获取不到controller类的返回值的问题解决。
使用ajax对数据库的执行删除,数据可以正常删除,就是controller方法可以执行,但是Ajax的success却接收不到controller类删除方法的返回值。却一直执行Ajax的error。我的ajax是这样写的: $.ajax({ type: 'post', async: false, ...原创 2019-01-04 15:49:29 · 2015 阅读 · 0 评论 -
myBatis的@Param注解和参数
关于Mybatis @Param 注解,官方文档: http://www.mybatis.org/mybatis-3/zh/java-api.html其中关于 @param部分的说明是: @Param Parameter N/A 如果你的映射器的方法需要多个参数, 这个注解可以被应用于映射器的方法 参数来给每个参数一个名字。否则,多 参数将会以它们的顺序位置来被命名 (不包括任何 R...原创 2019-01-04 10:59:55 · 725 阅读 · 0 评论 -
MyBatis 的动态 SQL ——(if,choose,trim , foreach)
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 S...原创 2019-01-03 19:55:23 · 732 阅读 · 0 评论 -
简单理解token的作用及实现原理
本文将要简单阐述另一个同cookie/session同样重要的技术术语:token。什么是tokentoken的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个toke...转载 2019-02-22 01:02:26 · 6869 阅读 · 1 评论