目录
- Spring
-
- 1.你如何理解Spring?
- 2.Spring有哪些模块?
- 3.Spring的好处
- 4.Spring配置bean实例化有哪些方式?
- 5.Spring的事务?
- 6.BeanFactory 接口和 ApplicationContext 接口有什么区别 ?
- 7.加载Spring容器的三种方式
- 8.Spring Bean 生命周期(四个阶段:实例化,初始化,使用,销毁。)
- 9.Spring中用到哪些设计模式?
- 10.Spring IoC容器配置Bean的方式
- 11.Spring DI 的三种方式
- 12.IOC,AOP原理
- 13.IOC初始化过程
- 14.bean的作用域。
- 15.ApplicationContext通常的实现是什么?
- 16.Spring中如何注入一个java集合?
- SpringMVC
Spring
1.你如何理解Spring?
- Spring 是一个轻量级的Java 开发框架
- Bean工厂,用来管理Bean的生命周期和框架集成。
- 两大核心:IOC、AOP
- IOC/DI:控制反转,将对象的创建过程交给容器,让容器管理对象的生命周期如创建,初始化,销毁等。
- AOP:面向切面编程,对关注点进行模块化,通过对某一功能点进行编程,比如记录日志,有很多个类都需要记录日志的方法,则创建记录日志的代理方法,需要调用该功能是只需要调用代理方法,这就是AOP。
2.Spring有哪些模块?
Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。
3.Spring的好处
方便解耦,简化开发:
- Spring就是一个大工厂,专门负责生成Bean,可以将所有对象创建和依赖关系维护由Spring管理
AOP编程的支持:
- Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
声明式事务的支持:
- 只需要通过配置就可以完成对事务的管理,而无需手动编程
方便程序的测试:
- Spring对Junit4支持,可以通过注解方便的测试Spring程序
方便集成各种优秀框架:
- Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的支持
降低JavaEE API的使用难度 Spring:
- 对JavaEE开发中一些难用的API(JDBC、JavaMail、远程调webservice用等),都提供了封装,使这些API应用难度大大降低
4.Spring配置bean实例化有哪些方式?
1)使用 类构造器 实例化(默认无参数)
<bean id="bean1" class="cn.itcast.spring.b_instance.Bean1"></bean>
2)使用 静态工厂方法 实例化(简单工厂模式)
//下面这段配置的含义:调用Bean2Factory的getBean2方法得到bean2
<bean id=