spring基础

来源:互联网 发布:ubuntu lamp 一键命令 编辑:程序博客网 时间:2024/06/16 16:43

Spring提供了很多轻量级应用开发实践的工具集合,这些工具集以接口、抽象类、或工具类的形式存在于Spring中。通过使用这些工具集,可以实现应用程序与各种开源技术及框架间的友好整合。是一个IOC和AOP容器框架。

Spring的优点:1、降低了组件之间的耦合性,实现了程序各层之间的解耦和。

 2、可以提供更多的服务,如事务管理,消息服务等。

 3、容器提供单列模式支持。

 4、容器提供AOP技术,利用它很容易实现权限拦截,运行期监控等功能。

 5、spring对主流的应用框架的支持,如Hibernate、Struts等。

 6、独立于各个应用服务器。

ID与IOC的关系:

在spring中 
创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 
因此也称为依赖注入。

依赖注入的三种方式:(1)接口注入(2)Construct注入(3)Setter注入

DI机制:依赖注入。

IOC:控制反转。指的是对象创建 权反转(交给)spring。作用是为了解耦和。

引入IOC的目的:(1)脱开、降低类之间的耦合;(2)倡导面向接口编程、实施依赖倒换的原则;(3)提高系统的可插入、可测试、可修改等特性。


AOP:其实就是划分出来了一个切面,然后在这个切面里面进行了一些增强,最后产生一个增加了新功能的代理对象,注意,是代理对象,这是Spring AOP实现的基础。这个对象只不过比原始对象(Bean)多了一些功能而已,比如Bean预处理,Bean后处理,异常处理等。 




面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要有两个表现:

1、提供声明式事务管理。

2、spring支持用户自定义切面。

面向切面编程(AOP)是对面向对象编程(OOP)的补充。

AOP的两大特性:1、各个步骤之间的良好隔离性。2、源代码无关性。

AOP的作用:对程序再不修改源码的情况下,进行权限效验、日志记录、性能检测、事物监控。

spring的AOP底层用到的两种代理机制

JDK动态代理:针对实现了接口的类产生代理。

Cglib的动态代理:针对没有实现接口的类产生代理,应用的底层的字节码增强技术生成当前类的子类对象。



AOP是典型的代理模式的体现。

IOC是典型的工厂模式的体现。


spring如何整合hibernate:整合 Hibernate, 即由 IOC 容器生成 SessionFactory 对象, 并使用 Spring 的声明式事务

spring如何整合struts2:整合 Struts2, 即由 IOC 容器管理 Struts2 的 Action。



原创粉丝点击