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的理解
什么是IOC?
IOC是控制反转,它能够做到将对象的控制权交给Spring来进行管理了,由Spring来把控对象的生命周期和对象之前依赖关系。
什么是DI?
DI是依赖注入,就是给对象属性注入值的,给对象它所需要依赖的对象属性值。
什么是AOP
一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,提高系统的可维护性。可用于权限认证、日志、事务处理。
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所具有的功能外,还提供了更完整的框架功能:



