您的位置:首页 > 编程语言 > Java开发

Spring框架--IOC

2016-12-03 23:58 344 查看
传统方式(没使用Spring)-->在程序的分层开发中,各层之间必定需要依赖关系存在,而根据依赖关系可以分为--0耦合(这是无法协同工作的),具体耦合(具象与具象之间发生依赖关系,在各自的代码中直接各自实例化创建对象),抽象耦合(通过抽象层实现两者的依赖关系,接口之类)。在第三种关系中实现了依赖的倒转,即是从上层调用下层的方式变成了上层调用抽象层,下层实现各自的接口。

在spring中,这种依赖关系由spring容器来维护,控制权反转(I OC),对象的生命周期的维护权限也移交给了容器。传统的方式就好像要用到机器去工作时,然后才去从头生产机器,进一步的工厂模式就是有一个生产的模式,需要的时候就用那种模式生产。而spring是在需要的时候已经自动生产好了机器,直接拿来使用就行了。

spring实现I OC步骤:

1、创建配置文件,在其中引用基本的beans的类库,在spring官方文档中的I OC章节中可以找到,配置service层,d ao层的类,任何类都可以通过bean配置的方式交给容器维护。


此文件放置在类路径下,或者是在资源文件夹下。

2、导入包:最低配置原则,用到的时候再导入对应包。

在这里,

a)         commons-logging-1.2.jar
这是日志包,输出日志信息

b)        spring-core-4.3.2.RELEASE.jar
这是核心包

c)         spring-context-4.3.2.RELEASE.jar
这是环境上下文

d)        spring-beans-4.3.2.RELEASE.jar
bean的类库,实现配置的bean的管理

e)         spring-expression-4.3.2.RELEASE.jar
表达式实现

以上五个通常是必须的。

当用到了自动注入时,即需要@autowired,则需要导入spring-aop-4.3.2.RELEASE.jar,相应的头部也要更改,这就是最低配置原则。

3、在代码中加载配置文件,ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");



之后通过getBean获得实例,然后使用。

在代码中可以看出,在订单的service层的对象方法的save调用时,不需要再自己去实例化service对象,dao对象,是由spring容器做的。这就是控制权反转。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: