Spring是什么?
Spring是一个轻量级的IOC和AOP容器框架,是为Java应用程序提供基础性服务的一套框架,
目的是用于简化企业应用程序的开发,开发人员只需要专注于业务需求。
<个人认为:Spring就是一个502胶,粘连了各个框架,凡是对象都交由Spring来进行管理>
主要包括以下七个模块:
Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);
Spring Core:核心类库,所有功能都依赖于该类库,提供IOC和DI服务;
Spring AOP:AOP服务;
Spring Web:提供了基本的面向Web的综合特性,提供对常见框架如Struts2的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器;
Spring MVC:提供面向Web应用的Model-View-Controller,即MVC实现。
Spring DAO:对JDBC的抽象封装,简化了数据访问异常的处理,并能统一管理JDBC事务;
Spring ORM:对现有的ORM框架的支持;
1.对 Spring IOC和Spring AOP的理解
2.Spring通知(Advice)有哪些类型?
《1》前置通知(Before Advice):
在方法之前执行的通知
《2》后置通知(After Advice):
在方法结束后的通知 (无论方法是正常返回还是抛出异常)
《3》异常通知(AfterThrowing advice):
在方法抛出异常时的通知
《4》环绕通知(Around Advice):
在方法执行前结束后的通知
《5》最终通知(AfterReturning Advice):
在方法正常运行结束后的通知(如果方法抛出异常则不执行)
3.BeanFactory和ApplicationContext有什么区别?
BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当作Spring的容器
BeanFactory是Spring里面最底层的接口,是IoC的核心,定义了IoC的基本功能,包含了各种Bean的定义、加载、实例化,依赖注入和生命周期管理。ApplicationContext接口作为BeanFactory的子类,除了提供BeanFactory所具有的功能外,还提供了更完整的框架功能: