优秀代码
摘要:需求描述:对某一个特定接口实现类,进行循环执行某一方法。例如校验,有电话号校验类,长度校验类,必填校验类。等等继承了一个接口ICheck。 实现方法: @Service public class ValidationService { /** * Spring 注入技术,基于ICheck接口实现类
阅读全文
基于注解的事务配置,和基于xml的事务配置案例
摘要:基于xml配置案例: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSche
阅读全文
spring--多人开发,模块化配置
摘要:需要引入开发人员的配置文件: 补记2019-05-2:这种配置不推荐,不利于项目后期的整体维护,而且开发人员自身水平不一,容易造成项目配置混乱 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframewor
阅读全文
DBCP和C3P0使用--未完善
摘要:一、前言: DBCP和C3PO都可以作为数据连接池, 二、 导入jar包: 三、配置applicationContext.xml文件 配置dbcp <!-- 创建数据源 --> <bean id="dataSourceId" class="org.apache.commons.dbcp.BasicD
阅读全文
spring之AspectJ基于注解 AOP编程
摘要:一、前言 使用注解代替之前在spring配置文件中配置目标类、切面类和aop配置。 二、注意 需要注意的是,需要在spring配置文件中引入如下,如果不添加,切面类中的@Aspect注解将不起作用 <aop:aspectj-autoproxy/> 使用的时候通知单独使用 导入的jar包 当有多个切面
阅读全文
spring之AspectJ基于xml AOP编程
摘要:一、引言: AspectJ框架不仅实现了面向切面编程,而且还支持注解,spring将它引入自己的规范之中。 二、需要了解: AspectJ是基于java语言的AOP框架 spring2.0之后支持AspectJ切入点表达式 描述切点使用切入点表达式 三、通知的类型(重点) 四、利用AspectJ实现
阅读全文
切入点表达式
摘要:切入点表达式是用来描述切点的。如下图绿色标注: 切入点表达式写法: 参数包括:execution("修饰符 返回值类型 包.类.方法名(参数..) throws异常") 修饰符(举例):一般省略 * 任意 public 公共访问 返回值(举例): void 无返回值 String 返回值是字符串类型
阅读全文
面向切面编程之cglib代理方式
摘要:思想: 和上一篇面向切面编程之手动JDK代理方式上的需求和开发模式一样。不同的是目标类没有接口,只有实现类,采用的是spring中提供的Enhancer类继承目标类实现的代理方式。 需要导入的jar包: spring的core包,详细看代码。 代码: UserDaoImpl实现类 package c
阅读全文
动态JDK代理方式-实现类增强
摘要:需求描述: 抽取dao层开启和提交事物交由代理类一并执行 分析: 假如UserDao接口中有很多方法,例如addUser()、deleteUser()、updateUser()等等,需要频繁的和数据库打交道,必然在每个方法里都会有开启事物,提交事务的操作。如果把开启事物和提交事物写在一个类A中不同方
阅读全文
spring之AOP术语
摘要:一、名词解释: target:被代理类 joinPoint:连接点,被代理类中的所有方法 pointCut:切点、被代理类中被增强的方法 advice:通知,即要在目标方法前后执行的方法 weaving:织入,即通知和切点结合形成代理类的过程 增强:指被代理类中加入通知的方法的过程增强 二、画了一幅
阅读全文
spring之注解详解
摘要:一、类级别注解,效果相同 通用:@Component(value="name") Controller层:@Controller(value="name") Service层:@Service(value="name") Dao层:@Repository(value="name") 二、属性注入注解
阅读全文
spring SpEL
摘要:SpEL表达式也是为简化property,只有两个属性,即name和value。 SpEL对<property>进行统一编程,所有的内容都使用value <property name="" value="#{表达式}"> #{123}、#{'jack'} : 数字、字符串 #{beanId} :另一
阅读全文
spring之集合注入
摘要:list: <bean id="userAction" class="com.xx.action.UserAction"> <property name="list"> <list> <value>哈哈</value> <value>嘻嘻</value> <value>嘎嘎</value> </li
阅读全文
spring之p命名空间注入
摘要:<bean id="personId" class="com.itheima.f_xml.c_p.Person" p:pname="禹太璞" p:age="22" p:homeAddr-ref="homeAddrId" p:companyAddr-ref="companyAddrId"> </bea
阅读全文
spring之setter注入
摘要:什么是setter注入? setter注入就是利用普通Javabean 属性的setter方法实例化bean中的某个属性,使用场景例如:Hibernat框架中在Dao层注入sessionFactory的时候 使用场景: 框架中的案例: <!-- 配置hibernate的相关信息 --> <bean
阅读全文
spring之构造注入
摘要:第一种:通过构造name和value属性(不常用) <!-- userAction --> <bean id="userAction" class="com.xx.action.UserAction"> <constructor-arg name="add" value="山东"></constru
阅读全文
spring中Bean对象的生命周期
摘要:经过测试对于具体的一个Bean,执行的流程应该是: 1.实例化: 常见的有构造(有参、无参)实例化、静态工厂(方法是静态,通过类名.方法返回获取)、实例工厂(专门有个类负责生产对象,需要在bean中配置类和方法名~非静态) 2.注入 注入有3种(set注入、构造注入、接口注入),如果有注入,则实例化
阅读全文
spring实例化bean三种方式
摘要:我看了这篇博文《https://www.cnblogs.com/zhanglei93/p/6221546.html》,以及自己实践总结了关于spring实例化bean对象的3种方式。 一、通过构造 1.1通过无参构造: 在加载applicationContext.xml文件的时候会通过无参构造实例化
阅读全文