美文网首页
Spring注入对象类型的属性

Spring注入对象类型的属性

作者: glory_前端 | 来源:发表于2017-11-01 14:57 被阅读0次

    要求创建Service类和Dao类,在Service类中得到Dao类的对象,进而操作Dao里面方法

    1实现过程

    (1)在Service类中把Dao作为类型属性
    (2)生成Dao类型的Set方法

    Service类和Dao类

    package cn.itcast.service;
    
    public class UserService {
        
        //1.定义一个Dao类型属性
        private UserDao userDao;
        
        //2.生成其set方法
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
        
        
        public void add(){
            System.out.println("userservice.............");
            userDao.add();
        }
    
    }
    
    

    Dao类

    package cn.itcast.service;
    
    public class UserDao {
        
        public void add(){
            System.out.println("userDao.............");
        }
    }
    
    

    配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    
        <!-- 注入对象类型的属性 -->
        <!-- 1.配置Service和Dao对象 -->
        <bean id="userService" class="cn.itcast.service.UserService">
            <!-- 通过set注入dao对象 -->
            <!-- name属性值:Service类中属性名称,现在不能写value,因为value对应字符串,现在是对象
                 ref属性值:Dao中配置bean标签属性id值
             -->
            <property name="userDao" ref="userDao"></property>
        </bean>
        
        <bean id="userDao" class="cn.itcast.service.UserDao"></bean>
    
    </beans>
    

    测试类

    package cn.itcast.service;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class testIoc {
    
        @Test
        public void testUser(){
            //1.加载spring配置文件
            ApplicationContext context=new ClassPathXmlApplicationContext("beanConfig.xml");
            //得到配置创建的对象
            UserService user=(UserService) context.getBean("userService");
            
            user.add();
        }
    }
    
    

    打印结果

    image.png
    2IOC和DI

    (1)IOC对象反转,把创建对象交给spring控制
    (2)DI依赖注入:向类里面属性设置值
    (3)依赖注入不能单独存在,需要建立在ioc之上

    相关文章

      网友评论

          本文标题:Spring注入对象类型的属性

          本文链接:https://www.haomeiwen.com/subject/xiiwpxtx.html