Spring

来源:互联网 发布:linux贪吃蛇c语言代码 编辑:程序博客网 时间:2024/04/29 07:42

Spring Context Spring上下文

Spring Core核心容器提供Spring框架的基本功能

Spring AOP

JDBC DAO抽象层

Spring ORM

Spring Web

Spring Web MVC

 

 

Spring 的好处:

 

IOC控制反转模式的基本概念:不创建对象,但是描述创建它们的方式,在代码中不直接与对象和服务器连接,但是在配置文件中描述哪个组件需要哪一项服务。容器(在Spring框架中是IOC容器)负责将这些联系在一起

 

IOC实现类型有三种:

1.接口注入

2.设值注入(set注入)

3.构造方法注入

 

Bean工厂和ApplicationContext的联系及区别:

ApplicationContext扩展Bean工厂接口

ApplicationContext提供附加功能

Bean工厂延迟加载所有的Bean,直到getBean被调用

ApplicationContext则在初始化自身时检验,为立即加载。这样有利于检查所依赖属性是否注入,所以通常情况下,我们选择ApplicationContext

Spring容器中的Bean缺省状态下是单例模式

 

ApplicationContext常用实现类:

ClassPathXmlApplicationContext  spring配置文件必须放在src目录下

FileSystemXmlApplicationContext配置文件放在工程目录下

XmlWebApplicationContext根据部署路径寻找webroot---(放在WebContent目录下)

 

Beanidname的区别:

Id:是唯一标识bean,不能用特殊字符:...不能用数字开头,在bean引用的时候只能由id指向需要的bean

Name:可以用特殊字符,并且一个bean可以用多个名称:name=”bean1,bean2,bean3,bean4”用逗号隔开,如果没有id,则name第一个名称默认是id

 

IOC/DI总结:

IOC:控制反转  DI:注入

IOC容器通过读取配置文件进行装配

IOC把工厂方法和对象生成两者合并在一起

IOC的目的是提高程序的灵活性和可维护性

IOC中最基本的java技术是“反射”编程

IOC使我们真正的面向接口编程

 

AOP术语:

切面(Aspect:就是你要实现的交叉的非核心业务功能

连接点(Joinpoint:应用程序执行过程中插入切面的地点,可以是方法调用,异常抛出...

通知(Advice):通知切面的实际实现代码

切入点(Pointcut):定义通知应用在哪些连接点

目标对象(Target):被通知的对象

代理(proxy):将通知应用到目标对象后创建的对象

织入(Weaving):将切面应用到目标对象从而创建一个新的代理对象的过程

 

通知类型

类型

接口

描述

Around(环绕通知)

 

目标方法执行前执行后都调用

Before(前置通知)

 

目标方法调用前被调用

After(后通知)

 

目标方法调用后调用

Throws(抛出异常通知)

 

目标方法抛出异常时调用

 

 

 

:

后通知有两种形式:

@After 后通知 目标方法执行后,不论是否有异常发生都会执行

@AfterReturning 返回后通知,目标方法正确执行时,才执行通知内容。如果目标方法时抛出了异常,则不会执行通知内容

 

 

ProxyFactoryBean产生代理对象

其属性:

Target---代理的目标对象

InterceptorName---需要应用到目标对象上通知bean的名字

0 0
原创粉丝点击