IOC注解开发与XML整合

区别:

xml:可以适用于任何场景,结构清晰,方便维护

注解:开发方便,快速。有些地方适用不了,这个类不是自己提供的(比如源码提供的类)

xml和注解整合开发,各取所长

xml使用于对bean进行管理,方便后期维护。注解是方便进行属性注入

package zcc.spring_day2.demo3;

public class OrderDao {
    public void save() {
        System.out.println("OrderDao的save方法执行了.......");
    }
}
package zcc.spring_day2.demo3;

public class ProudctDao {
    public void save() {
        System.out.println("ProudctDao的save方法执行了.......");
    }
}
package zcc.spring_day2.demo3;

import javax.annotation.Resource;

public class UserService {
    @Resource(name="orderDao")
    private OrderDao orderDao;
    @Resource(name="productDao")
    private ProudctDao productDao;

    /*public void setOrderDao(OrderDao orderDao) {
        this.orderDao = orderDao;
    }
    public void setProductDao(ProudctDao productDao) {
        this.productDao = productDao;
    }*/
    
    public void save() {
        System.out.println("UserService的save方法执行了.......");
        orderDao.save();
        productDao.save();
    }
}

在没有开启扫描的情况下,若要使用注解开发,需要在xml中开启<context:annotation-config/>

用xml方式管理bean

测试类代码如下

package zcc.spring_day2.demo3;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
 * XML和注解整合,XML管理类,用注解来完成属性注入
 */
public class SpringDemo3 {
    @Test
    public void demo1() {
        // 创建spring的工厂来将xml中所有的bean实例化
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext2.xml");
        UserService bean = (UserService) applicationContext.getBean("userService");
        bean.save();
    }
}

运行结果如下

原文地址:https://www.cnblogs.com/zengcongcong/p/10359087.html