标签:加载 XML 常用 ring spring框架 路径 inf r文件 factory
在Spring中,应用对象生存于Spring容器中,如图所示,Spring容器可以创建、装载、配置这些Bean,并且可以管理它们的生命周期。
org.springframework.beans.factory.BeanFactory
):最简单的容器,提供基本的DI支持;org.springframework.context.ApplicationContext
):基于BeanFactory之上构建,提供面向应用的服务。Spring对Bean进行实例化;
Spring将值和Bean的引用注入进Bean对应的属性中;
如果Bean实现了BeanNameAware
接口,Spring将Bean的ID传递给setBeanName()
接口方法;
如果Bean实现了BeanFactoryAware
接口,Spring将调setBeanFactory()
接口方法,将BeanFactory容器实例传入;
如果Bean实现了ApplicationContextAware
接口,Spring将调用setApplicationContext()
接口方法,将应用上下文的引用传入;
如果Bean实现了BeanPostProcessor
接口,Spring将调用postProcessBeforeInitialization()
接口方法;
如果Bean实现了InitializationBean
接口,Spring将调用afterPropertiesSet()
方法。类似的如果Bean使用了init-method
声明了初始化方法,该方法也会被调用;
如果Bean实现了BeanPostProcessor
接口,Spring将调用ProcessAfterInitialization()
方法;
此时此刻,Bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中
,直到该应用上下文被销毁;
如果Bean实现了DisposableBean
接口,Spring将调用destory()
方法,同样的,如果Bean中使用了destroy-method
声明了销毁方法,也会调用该方法;
容器是Spring框架最核心的部分,它负责Spring应用中Bean的创建、配置和管理。Spring模块都构建与核心容器之上,当配置应用时,其实都隐式地使用了相关的核心容器类。另外,该模块还提供了许多企业级服务,如邮件、JNDI访问、EJB集成和调度等。
AOP是Spring应用系统开发切面的基础,与依赖注入一样,可以帮助应用对象解耦
。借助于AOP,可以将遍布于应用的关注点(如事务和安全等)从所应用的对象中解耦出来。
Spring的JDBC和DAO模块封装了大量的样板代码,这样可以使得在数据库代码变得简洁,也可以更专注于我们的业务,还可以避免数据库资源释放失败而引发的问题。另外,Spring AOP为数据访问提供了事务管理服务。同时,Spring还与流程的ORM(Object-Relational Mapping)进行了集成,如Hibernate、MyBatis等。
Spring提供了两种Web层框架:面向传统Web应用的基于Servlet的框架和面向使用Java Portlet API的基于Portlet的应用。Spring远程调用服务集成了RMI、Hessian、Burlap、JAX-WS等。
Spring提供了测试模块来测试Spring应用。
标签:加载 XML 常用 ring spring框架 路径 inf r文件 factory
原文地址:https://www.cnblogs.com/Tu9oh0st/p/10147077.html