Spring基础和总结

 

1.
控制反转
控制反转是Spring框架的核心。
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。
  应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。也可以说,【依赖被注入到对象中。】所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。
通过一个容器在需要的时候把这个依赖关系形成,即把需要的接口实现注入到需要它的类中,这可能就是“依赖注入”说法的来源了。
IoC是一种设计模式而不是种技术。

2.
AOP(面向方面编程)中采用annotion实现时annotation定义Pointcut,Pointcut的方法是不被执行的,它的存在的目的仅仅是为Adivce重用Pointcut的定义

3.
Spring对AOP的支持
1.如果目标对象实现了接口,默认会采用JDK的动态代理机制实现AOP
2.如果目标对象实现了接口,可以强制使用CHLIB实现AOP
3.如果目标对象没有实现接口,必须使用CGLIB生成代理,spring会自动CGLIB和JDK动态代理之间切换

如何强制使用CGLIB生成代理?
 *添加CGLIB库,SPRING_HOME/lib/cglib/*.jar
 *在spring的配置文件中加入:
 <aop:aspecjt-autoperoxy proxy-arget-class="true">//为true就是启用强制代理
 *JDK代理只能对实现了接口的类生成代理,而不能针对类
 *CGLIB是针对类实现代理的,主要对指定的类生成一个子类,并覆盖其中的方法,因为是继承,所以不能使用final来修饰类或方法。

4.
项目中如何体现Spring中的切面编程,具体说明。
   面向切面编程:主要是横切一个关注点,将一个关注点模块化成一个切面。在切面上声明一个通知(Advice)和切入点(Pointcut); 通知: 是指在切面的某个特定的连接点(代表一个方法的执行。通过声明一个org.aspectj.lang.JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息。)上执行的动作。通知中定义了要插入的方法。切入点:切入点的内容是一个表达式,以描述需要在哪些对象的哪些方法上插入通知中定义的方法。
   项目中用到的Spring中的切面编程最多的地方:声明式事务管理。
   a、定义一个事务管理器
   b、配置事务特性(相当于声明通知。一般在业务层的类的一些方法上定义事务)
   c、配置哪些类的哪些方法需要配置事务(相当于切入点。一般是业务类的方法上)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值