专栏首页weixuqin 的专栏spring 学习(二)spring bean 管理--配置文件和注解混合使用

spring 学习(二)spring bean 管理--配置文件和注解混合使用

spring 学习(二)spring bean 管理--配置文件和注解混合使用

相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文:

sprint 学习(一)

然后我们在 src/main/java 下创建一个新的package : cn.itcast.xmlanno, 并在当前包下创建 BookDao.java, OrdersDao.java:

BookDao.java:

package cn.itcast.xmlanno;

public class BookDao {
    public void book(){
        System.out.println("book......");
    }
}

OrdersDao.java:

package cn.itcast.xmlanno;

public class OrdersDao {
    public void buy(){
        System.out.println("ordersdao......");
    }
}

在 resources 下创建 applicationContext.xml,同时写入注解和配置文件方式 :

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here -->

    <context:component-scan base-package="cn.itcast"></context:component-scan>

    <bean id="bookDao" class="cn.itcast.xmlanno.BookDao"></bean>
    <bean id="bookService" class="cn.itcast.xmlanno.BookService"></bean>
    <bean id="ordersDao" class="cn.itcast.xmlanno.OrdersDao"></bean>
</beans>

cn.itcast.xmlanno 下创建 BookService.java, 通过注解方式得到BookDao 和 OrdersDao 对象:

package cn.itcast.xmlanno;

import javax.annotation.Resource;

public class BookService {

    //得到BookDao 和 OrdersDao 对象
    @Resource(name = "bookDao")
    private BookDao bookDao;
    @Resource(name = "ordersDao")
    private OrdersDao ordersDao;

    public void add(){
        System.out.println("add........");
        bookDao.book();
        ordersDao.buy();
    }
}

我们创建一个测试类 TestUser.java,来进行测试:

package cn.itcast.xmlanno;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestUser {
    @Test
    public void TestBook(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookService bookService = (BookService) context.getBean("bookService");
        bookService.add();
    }
}

运行测试文件,输出下列结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试

    控制反转(Inversion of Control,缩写为IOC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖...

    希希里之海
  • Lambda 表达式

    Java Lambda 表达式是一种匿名函数;它是没有声明的方法,即没有访问修饰符、返回值声明和名字。

    希希里之海
  • LinkedList 源码分析

    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以...

    希希里之海
  • 没想到!618京东和天猫打得火热,笑得最开心的却是直播巨头?

    618年中大促已进入尾声,这个由京东发起的“店庆日”,现已成为中国电商业的促销大节。从近年的动静来看,618已不再是京东的独角戏,而是电商产业上下游玩家的联袂大...

    罗超频道
  • Sql一行拆分转多行

    冰封一夏
  • 途程计划

    途程计划要求选择最经济有效的途径,使原料自开始加工直至产品完成期间,所经工作路线为最短,消耗量最少,效率最高。途程计划的范围,除了作业途径外,还须包括人员与机器...

    SAP最佳业务实践
  • 首份智慧教育区域发展研究报告发布 七成讲授型教师将面临角色重构

    ? 未来,讲授型的教师职位数量将缩减70%,老师将面临角色的重构,成为学生“灵魂的工程师”。 未来的学习将日趋多样化,不再追求一个人学习 100 门课程,不再...

    鹅老师
  • 【专业技术】如何愉快的在Windows下开发控件

    在Win32环境下,怎么来创建常用的那些基本控件呢?通过MSDN可以知道,不管是创建窗口还是控件,都是通过CreateWindow或者CreateWindowE...

    程序员互动联盟
  • 不再闭门造车,谷歌首次合作菲亚特研发无人驾驶汽车技术

    镁客网
  • 顾明远:人工智能时代,未来教育的变与不变

    导读:今天的青少年生活在这种变革的时代。他们的生活方式和思维方式已经大大不同于上一代人。因此,对他们的培养方式也必须改变。

    华章科技

扫码关注云+社区

领取腾讯云代金券