zoukankan      html  css  js  c++  java
  • 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();
        }
    }

    运行结果如下

  • 相关阅读:
    linux常用命令的英文单词缩写
    Linux常用指令总结
    java exception "file not found or file not exist"
    Linux清空屏幕和清空当前输入的快捷键
    巨蟒python全栈开发-第10天 函数进阶
    为什么不能在函数中给全局变量赋值?
    巨蟒python全栈开发-第9天 初识函数
    巨蟒python全栈开发-第8天 文件操作
    windows10怎样关闭,开机启动项中不需要的应用?
    巨蟒python全栈开发-第7天 基本数据类型补充&深浅拷贝
  • 原文地址:https://www.cnblogs.com/zengcongcong/p/10359087.html
Copyright © 2011-2022 走看看