IOC的具体操作

111 阅读2分钟

1.Bean管理

1 什么是bean管理

Bean管理指的是两个操作

  • Spring创建对象
  • Spring注入属性

Bean管理操作有两种方式

  • 基于xml配置文件方式实现
  • 基于注解方式实现

2.IOC(xml方式)

2.1 xml方式创建对象

<bean id="user" class="date.User"></bean>
  1. 在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象的创建

  2. 在bean标签有很多属性,介绍常用的属性:

       id属性:唯一标识
       class属性:要创建对象的类的全路径
       name属性:作用与id一样,但是name中可以加入一些特殊符号,现在几乎不怎么使用
    
  3. 创建对象的时候默认执行无参构造方法创建对象

2.2 xml方式注入属性

  1. DI:依赖注入,就是注入属性,是IOC中一种具体实现形式,在创建对象的基础之上注入属性

第一种注入方式:使用set方法进行注入

需要该类具有set方法,否则报错

<bean id="book" class="date.Book">
    <!--        在bean标签里面使用property完成属性注入-->
    <property name="bname" value="易筋经"></property>
</bean>

第二中注入方式:使用有参构造器注入

    <bean id="books" class="date.Book">
<!--        有参构造器注入-->
        <constructor-arg name="bname" value="孙悟空"></constructor-arg>
    </bean>

3 xml方式注入其他类型属性

1.字面量

(1) null值

<bean id="book" class="date.Book">
    <property name="addrass">
        <null></null>
    </property>
</bean>

(2)属性值包含特殊符号

<bean id="book" class="date.Book">
    <property name="addrass" value="&lt;&gt;南京&lt;&gt;"></property>
</bean>

即使用了转义字符

4 注入外部bean

(1) 创建两个类service类和dao类

(2) 在service调用dao里面的方法

(3) 在spring配置文件中进行配置

<!--service和dao对象创建-->

    <bean id="userService" class="service.UserService">
        <property name="userDao" ref="userdao"></property>
<!--            name中放的是属性名称  ref中放的是刚创建对象的id值-->
    </bean>

    <bean id="userdao" class="dao.UserDaoImpl"></bean>

5 注入内部bean和级联赋值

内部bean 在bean的内部创建其他bean

(1)一对多关系:部门和员工一个部门有多个员工,一个员工属于一个部门部门是一,员工是多

(2)在实体类之间表示一对多关系,员工表示所属部门,使用对象类型属性进行表示

<bean id="emp" class="bean.Emp">
    <property name="ename" value="bob"></property>
    <property name="gender" value="男"></property>
    <property name="dept">
        <bean id="dept" class="bean.Dept">
            <property name="name" value="安保部"></property>
        </bean>
    </property>
</bean>