1 set方法注入

第一步在类中生成set方法

    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public void test(){
        System.out.println("UserServices test...");
        userDao.test();
    }

第二步在配置文件

通过property方法注入

name:bean对象中属性字段的名称 ref:指定bean标签的id属性值

    <bean id="UserServices" class="org.example.UserServices.UserServices">
    <property name="userDao" ref="UserDao">
    </property>
    </bean>

2 构造器的注入

在类中的带参方法

 private UserDao01 userDao01;

    public UserServices01(UserDao01 userDao01) {
        this.userDao01 = userDao01;
    }

    public void test(){
        System.out.println("UserServices test...");
        userDao01.test();
    }

在配置文件中构造器的写法

<bean id="UserDao01" class="org.example.UserDao.UserDao01"></bean>
    <bean id="UserServices01" class="org.example.UserServices.UserServices01">
        <constructor-arg name="userDao01" ref="UserDao01"></constructor-arg>
    </bean>

构造器的弊端:如果两个类相互注入时,会发生循环依赖的问题,导致程序不能成功的运行。

解决方法:使用set方法注入。