2018/1/7

对于使用XML文件进行配置的spring项目,当项目较大时,配置文件可读性和维护性差,庞大的spring配置文件难以阅读。同时,多人修改同一配置文件容易发生冲突,减低开发效率。对于xml配置项目,建议将一个大的配置文件分解为多个小的配置文件,每个配置文件仅仅配置功能相近的Bean。

一、拆分策略?

(1)一个开发人员负责一个模块,可以采用:公用配置(数据源、事务等)+ 每个系统模块一个单独配置文件。

(2)开发按照分层进行分工,采用:公用配置(数据源、事务等)+ DAO Bean配置 + 业务逻辑Bean配置 + Web控制器配置。

Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。

Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。

二、拆分方法与组合方法?

(1)如何找到配置文件呢?

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml");

(2)多个配置文件,如何找到呢?

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext-mybatis.xml",
              "applicationContext-dao.xml",
              "applicationContext-service.xml");

或:

使用String[ ]

String[] configs = {"applicationContext-mybatis.xml","applicationContext-dao.xml"," applicationContext-service.xml"};
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(configs);


或:
使用通配符*
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext*.xml");
或:

先在applicationContext.xml 用<import>子元素导入其他配置文件,将多个整合到一起,形成完整的spring配置文件即可:
  <import resource="applicationContext-dao.xml"/><import resource="applicationContext-service.xml"/>

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

三、spring配置文件的完整结构:

    <转载于:http://book.51cto.com/art/201004/193743.htm >
    下面列举的是一份比较完整的配置文件模板,文档中各XML标签节点的基本用途也给出了详细的解释,这些XML标签节点在后续的知识点中均会用到,熟练掌握了这些XML节点及属性的用途后,为我们动手编写配置文件打下坚实的基础。











以上是博文全部内容。

Spring(19):Spring 配置文件 拆分/组合/结构详解相关推荐

  1. Spring三级缓存解决循环依赖问题详解

    spring三级缓存解决循环依赖问题详解 前言 这段时间阅读了spring IOC部分的源码.在学习过程中,自己有遇到过很多很问题,在上网查阅资料的时候,发现很难找到一份比较全面的解答.现在自己刚学习 ...

  2. Spring面向切面编程(AOP)详解

    Spring面向切面编程(AOP)详解 面向切面编程(AOP)是Spring框架的另外一个重要的核心内容. 而在讲AOP之前,先来了解一下动态代理这个概念,因为AOP基于动态代理. 动态代理概念:在程 ...

  3. Spring基于注解TestContext 测试框架使用详解

    原创整理不易,转载请注明出处:Spring基于注解TestContext 测试框架使用详解 代码下载地址:http://www.zuidaima.com/share/1775574182939648. ...

  4. Spring Boot 使用 HikariCP 连接池配置详解

    Spring Boot 使用 HikariCP 连接池配置详解 HikariCP 是一个高性能的 JDBC 连接池组件. Spring Boot 2.x 将其作为默认的连接池组件,项目中添加 spri ...

  5. Nginx配置文件的结构详解和静态资源部署

    Nginx配置文件的结构详解和静态资源部署 一.配置文件结构 使用Nginx之前,需要先看懂Nginx的配置文件. 因为之后操作Nginx,就是一个对配置文件修改的过程. Nginx的配置文件(con ...

  6. Android 8.0学习(32)---Android 8.0源码目录结构详解

    Android 8.0源码目录结构详解 android的移植按如下流程:     (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来.     (2)正确挂载文件系统 ...

  7. 组合模式详解附有代码案例分析(包含透明组合模式、安全组合模式的代码示例)

    组合模式 一.组合模式的概念和角色 (一).组合模式的概念 (二).组合模式的角色 二.组合模式的应用场景 三.透明组合模式的代码示例 四.安全组合模式的代码示例 五.组合模式的优缺点 (一).优点 ...

  8. SSM框架整合:各种配置文件的整合和详解

    SSM框架整合:各种配置文件的整合和详解 前言 学习了ssm框架的整合之后,对于数量众多的配置文件,和各种不同的配置方式感到甚是头疼,接下来教给大家一个清晰明白的配置,分门别类的配置不同的xml文件. ...

  9. PHP扩展代码结构详解

    PHP扩展代码结构详解 : 这个是继: 使用ext_skel和phpize构建php5扩展  内容 (拆分出来) Zend_API:深入_PHP_内核:http://cn2.php.net/manua ...

最新文章

  1. npm WARN install Refusing to install vue-router as a dependency of itself
  2. 《啊哈!算法》笔记_Day01
  3. 插入箭头_“PPT立体箭头”这样做
  4. mysql 删除5天前 备份_mysql自动备份删除5天前的备份
  5. 【转】数据库软考笔记(一)第一章 计算机硬件基础知识笔记总结
  6. Mybatis面试题-日更
  7. redis原理解析与案例分享
  8. 提升写作效率,让 Word 更好地为你所用
  9. 华为HCNA认证---简介及资源
  10. 天正电气2014的安装
  11. Twitter + Elasticsearch 数据分析总结
  12. LR11补丁下载地址
  13. c语言一个数中是否含有8,要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)...
  14. 入手评测华为nova10和vivoS15pro选哪个
  15. 三、为什么要使用RabbitMQ?他解决了什么问题?
  16. 基于ZigBee 的多点温度采集系统设计与实现
  17. 这是我看过最好的「机器学习」科普文章了
  18. 数通--交互技术--STP+RSTP详解
  19. MyBatis——》转义字符(大于,小于,大于等于,小于等于)
  20. 南京大学软件质量研究所

热门文章

  1. Android中添加APP到白名单
  2. 单例模式+php+应用场景,PHP单例模式应用场景有哪些?
  3. Windows10安装VirtualBox虚拟化工具后无法打开虚拟机
  4. 2轮平衡小车算法分析
  5. Java酒瓶瓶盖_一种白酒瓶瓶盖组件的制作方法
  6. 服务器端渲染 (SSR)
  7. word右击visio文件,显示unknow对象
  8. 什么是分布式 (个人理解)
  9. LCD12864(ST7920芯片)
  10. 如何解决Android Studio unable to access android SDK add-on list