IOC注解开发与XML整合

Posted zengcongcong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
    }
}

运行结果如下

技术图片

 

以上是关于IOC注解开发与XML整合的主要内容,如果未能解决你的问题,请参考以下文章

JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)Spring整合web开发整合Junit4测试

Spring 从入门到精通系列 08——使用纯注解的方式实现 IOC 案例与 Junit 整合

MySpring-06.基于XML的IOC的案例

Spring之IOC与DI注解

Spring注解驱动开发

ssh整合之七注解结合xml形式