06 Spring框架 依赖注入(三)多配置文件

在Spring前几节的学习中我们都使用了一个配置文件,就像struts2中可以包含其他的配置文件,我们能不能使用多个配置文件呢(在工程比庞大,配置比较多的时候)?

Spring多配置文件分为两种:

  • 平等关系的配置文件
  • 包含子配置文件

(一)平等关系的配置文件 我们可以创建两个配置文件在包下

我们可以同时使用这两个配置文件在我们的应用当中,使用的方式由很多种,这里我举出比较常用的几种:

//Spring-*.xml只要配置文件的前缀相同我们就可以这样使用
String resource = "com/testConfig/Spring-*.xml";
        ApplicationContext ac = new ClassPathXmlApplicationContext(resource);

我们看看ClassPathXmlApplicationContext的构造函数,第四个构造函数提供了多个参数,这也就是说我们可以填写几个配置文件的String路径

    @Test
    public void Test02() {
        String resource1 = "com/testConfig/Spring-base.xml";
        String resource2 = "com/testConfig/Spring-equal.xml";
        ApplicationContext ac = new ClassPathXmlApplicationContext(resource1,resource2);
        Book book = (Book)ac.getBean("book");
        System.out.println(book);
    }

③ 我们观察上面的ClassPathXmlApplicationContext构造函数,我们同样可以填写一个路径字符串数组:

    @Test
    public void Test03() {
        String resource1 = "com/testConfig/Spring-base.xml";
        String resource2 = "com/testConfig/Spring-equal.xml";
        String[]resource = {resource1,resource2};
        ApplicationContext ac = new ClassPathXmlApplicationContext(resource);
        Book book = (Book)ac.getBean("book");
        System.out.println(book);
    }

(二)包含子配置文件 上面说的几种方法在地位上都是平等的,接下来我们来配置一个主配置文件的子配置文件: 这种包含关系的配置文件和Struts2中的方式就比较像了只需要在主配置文件中加一个import标签:

同样的如果在主配置文件base中要import多个配置文件的话,我们也可以这样:

<!--引入多个配置文件-->
<import resource="Spring-*.xml">
<!--注意:总的配置文件不能和包含的子配置文件格式相同,否则会将自身包含进去,出错-->

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿杜的世界

Spring实战5-基于Spring构建Web应用主要内容

写在前面:关于Java Web,首先推荐一篇文章——写给java web一年左右工作经验的人,这篇文章的作者用精练的话语勾勒除了各种Java框架的缘由和最基本的...

1162
来自专栏芋道源码1024

注册中心 Eureka 源码解析 —— 网络通信

本文主要分享 Eureka 的网络通信部分。在不考虑 Eureka 2.x 的兼容的情况下,Eureka 1.x 主要两部分的网络通信:

1142
来自专栏开发与安全

gdb基础命令和常用操作补充

GDB是Unix下的一个程序调试工具,类似于windows下面的VC调试器,区别在于GDB采用全命令行控制。 使用GDB需要在编译时使用-g选项,gcc支持-...

2790
来自专栏Java后端技术栈

Jenkins指定具体分支持续集成-使用Generic Webhook Trigger插件和码云

使用Generic Webhook Trigger插件实现Jenkins+WebHooks(码云)持续集成

3552
来自专栏玩转JavaEE

使用Spring Boot开发Web项目

按:最近公众号文章主要是整理一些老文章,以个人CSDN上的博客为主,也会穿插一些新的技术点。 ---- 前面两篇博客中我们简单介绍了Spring Boot项目的...

3105
来自专栏java一日一条

Spring面试问答

Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于...

1151
来自专栏专注研发

IDEA环境下SSM整合------注解开发

3.别的好像没啥介绍了,基本步骤就这些,数据流程在上面,注解介绍在下面。 基本注解介绍 @Controller   负责注册一个控制器,Singlet...

3202
来自专栏学海无涯

Java Web之Spring Boot

我一直在尝试一个人写demo(Android和iOS)时,如何模拟服务器端返回的 JSON 数据,总的来说,我试过以下几种: 纯Servlet开发,这种方式配合...

2854
来自专栏一个会写诗的程序员的博客

Spring FrameWork 5.0 新功能 概览Spring FrameWork 5.0 新功能 概览

整个框架的代码基于java8 通过使用泛型等特性提高可读性 对java8提高直接的代码支撑

861
来自专栏Python

利用Python imaplib和email模块 读取邮件文本内容及附件内容

4696

扫码关注云+社区

领取腾讯云代金券