#1>spring是什么?
spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
——从大小与开销两方面而言Spring都是轻量的
——通过控制反转(IOC)的技术达到松耦合的目的
——提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发
——包含并管理应用对象的配置和生命周期,这个意义上是一种容器
——将简单的组件配置、组合成为复杂的应用,这个意义上又是框架
#2>什么是框架:框架的特点:
框架就是制订一套规范或规则,程序员在该规范或规则下工作,形象地说就是在搭好的舞台上表演;
框架的特点:
1、半成品;
2、封装了特定的处理流程与控制逻辑;
3、成熟的、不断升级改进的软件;
#3>框架与类库的区别:
框架一般是封装了逻辑、高内聚的,类库则是松散的工具组合;
框架专注于某一领域,类库则是更通用;
为什么使用框架?
软件系统日趋复杂;
重用度高,开发效率与质量提高;
是软件设计人员要专注于对领域的了解,是需求分析更加充分;
一般框架配有完整的使用文档,易于上手,快速解决问题
#4> IOC
一、接口及面向接口编程
接口:只能有声明不能有实现,支持多重继承(在java8中接口可以拥有方法体)
抽象类:既可以有包含实现的声明也可以有不包含实现的声明
类:声明必须包含实现
面向接口编程:指提供一个接口与一个实现类,接口是提供给用户的,用户通过它来创建对象,实现类是用来实现这个对象的,而接口与实现类是通过一个implements关键字来连接
接口实现的变动不会影响其他各层的调用,对公共服务非常重要
二、什么是IOC
控制反转:控制权的转移,应用程序本身不负责依赖对象的创建与维护,而是由外部容器负责创建和维护。
依赖注入(DI):是一种实现方式,由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中
目的:创建对象并且组装对象之间的关系
三、Spring的Bean配置
在IOC容器中将所有的控制对象称作bean,Spring对于bean的使用有两种方式:基于spring-ioc.xml的配置和注解。
注意xml中关于bean的配置程序段
<bean id="oneInterface(自定义)" class="配置的实现类"></bean>
使用示例:
public void test(){
OneInterface interface=super.getBean("oneInterface");//获取bean,不需要new对象
interface.hello();//调用函数
}
四、Bean的初始化
五、Spring的常用注入方式
Spring IOC是一种设计模式,使对象不用显示的创建依赖对象,而是将对象创建的过程交给Spring的IOC容器去管理,通过依赖注入的方式,来实现IOC;
常用两种注入方式
A、设值注入
即通过XML中配置bean的依赖类,通过层级property属性,来配置依赖关系,然后Spring通过setter方法,来实现依赖类的注入;
<property name="xxx" ref="xxx"></property>
注意:设置注入name要与该类的成员变量名称保持一致
B、构造注入
方法同设值注入,不过具体实现的方法是通过显示的创造一个构造方法,构造方法的参数名称要与XML中配置的name名称一致,XML配置的标签为constructor-arg
<constructor-arg name="xxx" ref="xxx"></constructor-arg>
注意:设置注入name要与该类显示构造方法的参数名称保持一致