1、什么是IOC
(1)控制反转,把对象创建和对象之间的调用过程交给Spring管理
(2)使用IOC目的:为了降低耦合度
2、IOC容器实现的两种方式(两个接口):
(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,加载配置文件时候不会创建对象,在获取对象时候才去创建
(2)ApplicationContext:BeanFactory的子接口,提供更强大的功能,加载配置文件时候就会把对象创建
(3)一般使用第二种,创建对象是个较慢的过程,项目启动时候就创建好,提升相应速度
3、Spring有两种Bean
(1)普通Bean:在配置中定义的Bean类型就是返回类型
(2)工厂Bean:配置中定义的Bean类型和返回Bean类型不一样。实现接口FactoryBean,在实现方法中自定义返回Bean类型
4、Spring作用域
(1)singleton:单例作用域,lazy-init默认为false,Spring容器启动时候实例化对象
(2)prototype:原型作用域,每次Spring容器请求获取Bean时,会返回一个全新的Bean
(3)web应用中的作用域
· request作用域:每个请求都会创建一个全新的Bean
· session作用域:每个会话需要容器创建一个新Bean
· globalSession作用域:类似于Session,其用于portlet环境
5、Bean生命周期
(1)通过构造器创建Bean实例
(2)为Bean的属性设置值和对其他Bean引用
(3)调用Bean 的初始化方法
(4)获取Bean对象,使用Bean
(5)当容器关闭时候,调用Bean的销毁的方法
6、什么是AOP
(1)面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分之间的耦合度降低,提高程序的可重用性,同事提高开发效率
(2)通俗讲:通过不修改源代码的方式,在主干功能里面添加新功能
(3)AOP底层在有接口时使用JDK动态代理,无接口时使用CGLIB动态代理
7、AOP术语
(1)连接点:类里面可以被增强的方法称为连接点
(2)切入点:真正被增强的方法
(3)通知(增强):实际增强的逻辑部分称为通知(增强)。通知分为:前置通知、后置通知、环绕通知、异常通知、最终通知
(4)切面:把通知应用到切入点的过程
8、切入点表达式
语法结构: execution([权限修饰符] [返回类型] [类全路径] [方法名称][参数列表]) )
PS: execution(* cn.nsd.dao.BookDao.add(…))
Spring(二)
最新推荐文章于 2024-07-20 20:04:43 发布