`
vzhchv0010
  • 浏览: 29735 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
如果目标对象实现了接口,默认情况下采用jdk动态代理机制实现aop.如果目标对象实现了接口,可以强制spring采用CGLIB生成代理.具体做法:引入CGLIB库(Hibernate采用的是CGLIB代理),在配置文件中增加 cglib-nodep-2.1_3.jar<aop:aspectj-autoproxy proxy-target-class="true" />   AOP :默认采用jdk的动态代理. { 两种方式 实现aop   注解 }                     配置文件 静态代理:代理类是自己创造的. 动态代理: jdk ...
spring 对AOP的支持   从JoinPoint得到相关信息   package zhc.love.dj.test; public interface UserManger { public void addUser(String name,String password); public void delUser(int id) ; public void modUser(int id,String name,String password); }     package zhc.love.dj.test; public class UserMangerImp imp ...
spring对AOP的支持 采用在配置文件中配置的形式     package zhc.love.dj.test; public interface UserManger { public void addUser(String name,String password); public void delUser(int id) ; public void modUser(int id,String name,String password); }      package zhc.love.dj.test; public class UserMangerImp impleme ...
spring对AOP的支持 spring采用对AOP的支持(采用Annotation @...,或者采用配置文件的方式)导入包aspectjrt.jar  aspectjweaver.jar 是实现aop最全的两个包 采用静态编译 而非运行时编译,效率上会高些 横切关注点模块化就是切面 切面默认情况下不需要接口,但对于目标对象,必须要有接口.     package zhc.love.dj.test; public interface UserManger { public void addUser(String name,String password); ...
http://www.shineblog.com/user5/cxiang/archives/2007/712653.shtml  关于动态代理的理解
 轻量级最显著的特点:没有侵入性 控制反转: 用spring来管理各个java类 AOP 声明式事物 jdk动态代理:必须实现结构,如果不实现结构代理类生成不出来 实现方法的拦截 AOP的思想: 默认实现 动态代理 AOP概念: 面向切面编程面向对象从上到下纵向理解,而AOP是从横向来解决问题.解决不是正常业务逻辑的问题,如添加安全检查,添加日志 切面(Aspect):通过横切关注点找切面,本例为安全性检查这个模块连接点(JoinPoint): 就是 checkSecurity()方法在哪个方法上实现.本例为addUser()等.通知(Advice):是对横切关注点的实现,本例为public v ...
今天学习了为什么要使用代理类,和静态代理类.     package zhc.love.dj; public interface UserManger { public void addUser(String name,String password); public void delUser(int id) ; public void modUser(int id,String name,String password); }        package zhc.love.dj; public class UserMangerImp implements UserMang ...
 spring 自动装配 可以简化配置熟 两种都在beans标签中配置 1:根据name(id) 来查询bean  default-autowire="byName"  不用配置类中的类属性,会根据id去查找, 但是类的对象必须跟id名称保持一致.多用于快速开发,因为看不到继承关系. 2:根据type(class)来查询bean default-autowire="byType" 不用配置类中的雷属性,会根据类的类型去找 类的id可以改变       package zhc.love.dj.test; public class Bean2 { pr ...
beans标签的属性 可以设置是配置文件初始化的时候是全部初始化,还是延迟初始化默认是全部初始化 springBean 的作用域两种 1:singleton : 每次调用getBean返回相同的实例    2:prototype : 每次调用getBean返回不同的实例        默认为singleton方式     package zhc.love.dj.spring; public class Bean1 { }        package zhc.love.dj.spring; import org.springframework.beans.factory.BeanFa ...
学习简化Spring的配置文件,对于多个有相同属性的对象,抽象出一个临时类来把公共属性包括进去. 在各个对象中不用再添加,而对于想设置个性化的属性值,再在各个对象中配置.   四个javaBean类. 及其相关get set方法 package zhc.love.dj.POJO; public class Bean2 { private Bean3 bean3 ; private Bean4 bean4 ; private Bean5 bean5 ; public Bean3 getBean3() { return bean3; } public void setBean ...
spring 讲对象的创建和依赖关系交给spring(IOC容器)来管理srping实现的IOC 由DI实现(注入管理)普通属性.日期的注入外界想引用该类,都需要引用id,由id对应该引用类如果不是类.不用ref 用value直接赋值 下面这个例子讲的是spring中对普通属性如何注入,对日期类型如何注入.           package zhc.love.dj.POJO; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; public class Bea ...
用Spring来代替自己创建类 IOC控制反转 跟上个例子对比来看 通过set方法将要实现的类注入到产生的类中   /* 转载 Spring内核研究-set方法注入和构造函数注入 Spring种提供了2种常用的注入方式,set方法注入和构造函数注入 ...
通过自己写例子理解工厂模式 测试工厂类,了解AOP,IOC机制.通过UserDao的接口来调用不同的方法来存储实例.首先有UserDao接口.有各种实现类.其次有一个管理类UserMangaer,来实现接口中各种方法的使用.再次有一个Test类来测试,通过自己创建UserMangaer来调用UserDao接口中的方法用到了多态,单例模式,跟工厂模式.Spring就是把各种接口的实现放入到配置里,然后根据情况来调用.     package zhc.love.dj.Dao; public interface UserDao { public void save(String name ,St ...
Global site tag (gtag.js) - Google Analytics