菜鸟研究spring3.x的心得与笔记(第二节)深入IoC和AOP

 Spring的IoC

 Spring核心模块实现了IoC功能,简化了类之间的依赖,用配置的方式进行依赖关系的描述。

IoC负责依赖类之间的   创建  、 拼接 、管理 、 获取等工作。

IoC关注两点就好:

    1> BeanFactory是Spring框架的核心接口,实现容器核心的功能,

   

    2> Context 模块构建于核心模块之上,扩展BeanFactory的功能,添加il8n国际化,Bean生命周期的控

制,框架时间体系,资源加载透明化等功能,还提供了许多实际应用的技术。 如:邮件开发,任务调度,远程访问。

ApplicationContext 是Context模块的核心接口。

 Spring的AOP

Aop是进行横切逻辑编程的思想。

Spring提供了满足AOP Alipance规范的实现。整合了AspectJ这种Aop语言风格框架。

******************************************************************************************************************

Java5.0引入 Java.lang,instrument,允许JvM启动时启用一个代理类,代理类运行期可以修改类的字节码,改变一个类的功能,实现AOP的功能,如第一章图中,AOP的功能。

******************************************************************************************************************

1>数据访问和集成

         任何程序,其核心就是对数据的访问和操作,Spring通过对各种数据访问技术进行薄层的封装,使访问数据大幅简化。

  

        借助AOP技术,Spring提供了声明式事务的功能。

2>web及远程操作

     该模块是简历在Application Context模块上,提供了web应用的各种工具类。

      如: 通过Listener或者Servlet初始化Spring容器,将Spring容器注册到web容器中。

     还提供了面向web的功能。如:文件上传,FreeMarker,XSLT的支持。

3>web及远程访问

    Spring有独立的框架SpringMVC,Spring在远程访问,以及Web Service上提供了很多框架的整合。

Spring3.0的新特性

   先说两个名词啊,我一直不知道,现在才知道

   1,JSR-330 (依赖注入)

   2,JSR-303(Bean 验证)

就是上面这两。

Spring3.0最大的特性是 将核心API采用泛型和不定入参数的特性   如BeanFactory的部分方法签名如:

T getBean(Class<T> requridType)

 

     T getBean(String name,Class<T> requridType)
 

增加了一个用于类转换的ConversionService 接口,它是Spring3.0新增类型转换系统的核心接口,他的方法都支持泛型。

Spring的事件监听器也都支持泛型  如:ApplicationListener<E extendsApplicationEvent>,只要指定事件的类型,就可以监听某一类型的事件了。

Spring 表达式语言 

   Spring3.0提供了脚本SpEL,和EL类似,在Spring的XML配置文件和配置注解中使用。

这两章都是理论的东西,有点繁琐,我也就写到这儿,下来的话,就会根据代码来走,不会这么枯燥了,但是理论的东西还是要了解滴,大家能理解多少是多少,后续我们会用代码来实践它。

相关推荐