Spring--2.IOC和DI

来源:互联网 发布:花生壳 该域名被锁定 编辑:程序博客网 时间:2024/06/06 05:23

1       Spring的ioc操作

1.1  概述

1 把对象的创建交给spring进行管理

 

2 ioc操作两部分:

(1)ioc的配置文件方式

(2)ioc的注解方式

 

 

1.2  IOC 容器

       在 Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean实例并使用.

       Spring提供了两种类型的 IOC 容器实现,无论使用何种方式, 配置文件时相同的

BeanFactory: IOC 容器的基本实现.

ApplicationContext: 提供了更多的高级特性. 是 BeanFactory 的子接口.

 

1.3  IOC底层原理

1.3.1      技术

(1)xml配置文件

(2)dom4j解决xml

(3)工厂设计模式

(4)反射

 

1.3.2      画图分析


 

 

1.4  IOC入门案例

 

 

1.4.1      第一步 导入jar包

       解压资料zip文件

Jar特点:都有三个jar包

(2)做spring最基本功能时候,导入四个核心的jar包就可以了

(3)导入支持日志输出的jar包

1.4.2      第二步 创建类,在类里面创建方法

public classUser {    public void add(){      System.out.println("add...");   }  }

1.4.3      第三步 创建spring配置文件,配置创建类,(或者插件开发)

(1)spring核心配置文件名称和位置不是固定的

- 建议放到src下面,官方建议applicationContext.xml

(2)引入schema约束


(3)配置对象创建

<!-- ioc入门 -->   <bean id="user" class="spring.ioc.User"></bean>

1.4.4      第四步 写代码测试对象创建(实际项目没用)

       这段代码在测试中使用

@Test   public void testAdd() {      //加载核心配置文件      ApplicationContextctx =            newClassPathXmlApplicationContext("applicationContext.xml");      //得到创建的对象 id=user      Useruser = (User) ctx.getBean("user");           user.add();        }

 

2       注意

2.1  IOC和DI区别

(1)IOC: 控制反转,把对象创建交给spring进行配置

(2)DI: 依赖注入,向类里面的属性中设置值

 

(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

 

2.2  BeanFactory和ApplicationContext的区别?

       BeanFactory是Spring容器顶级核心接口,比较早,但功能比较少,getBean就是BeanFactory定义的。

       ApplicationContext是Spring里面的另外一个容器顶级接口,它继承于BeanFactory,但是提供的功能譬如校验,国际化,监听,对Bean的管理功能比较多,一般使用ApplicationContext。

 

 

 

 

 

 

 

 

 

原创粉丝点击