Spring(19):Spring 配置文件 拆分/组合/结构详解
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 配置文件 拆分/组合/结构详解相关推荐
- Spring三级缓存解决循环依赖问题详解
spring三级缓存解决循环依赖问题详解 前言 这段时间阅读了spring IOC部分的源码.在学习过程中,自己有遇到过很多很问题,在上网查阅资料的时候,发现很难找到一份比较全面的解答.现在自己刚学习 ...
- Spring面向切面编程(AOP)详解
Spring面向切面编程(AOP)详解 面向切面编程(AOP)是Spring框架的另外一个重要的核心内容. 而在讲AOP之前,先来了解一下动态代理这个概念,因为AOP基于动态代理. 动态代理概念:在程 ...
- Spring基于注解TestContext 测试框架使用详解
原创整理不易,转载请注明出处:Spring基于注解TestContext 测试框架使用详解 代码下载地址:http://www.zuidaima.com/share/1775574182939648. ...
- Spring Boot 使用 HikariCP 连接池配置详解
Spring Boot 使用 HikariCP 连接池配置详解 HikariCP 是一个高性能的 JDBC 连接池组件. Spring Boot 2.x 将其作为默认的连接池组件,项目中添加 spri ...
- Nginx配置文件的结构详解和静态资源部署
Nginx配置文件的结构详解和静态资源部署 一.配置文件结构 使用Nginx之前,需要先看懂Nginx的配置文件. 因为之后操作Nginx,就是一个对配置文件修改的过程. Nginx的配置文件(con ...
- Android 8.0学习(32)---Android 8.0源码目录结构详解
Android 8.0源码目录结构详解 android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统 ...
- 组合模式详解附有代码案例分析(包含透明组合模式、安全组合模式的代码示例)
组合模式 一.组合模式的概念和角色 (一).组合模式的概念 (二).组合模式的角色 二.组合模式的应用场景 三.透明组合模式的代码示例 四.安全组合模式的代码示例 五.组合模式的优缺点 (一).优点 ...
- SSM框架整合:各种配置文件的整合和详解
SSM框架整合:各种配置文件的整合和详解 前言 学习了ssm框架的整合之后,对于数量众多的配置文件,和各种不同的配置方式感到甚是头疼,接下来教给大家一个清晰明白的配置,分门别类的配置不同的xml文件. ...
- PHP扩展代码结构详解
PHP扩展代码结构详解 : 这个是继: 使用ext_skel和phpize构建php5扩展 内容 (拆分出来) Zend_API:深入_PHP_内核:http://cn2.php.net/manua ...
最新文章
- npm WARN install Refusing to install vue-router as a dependency of itself
- 《啊哈!算法》笔记_Day01
- 插入箭头_“PPT立体箭头”这样做
- mysql 删除5天前 备份_mysql自动备份删除5天前的备份
- 【转】数据库软考笔记(一)第一章 计算机硬件基础知识笔记总结
- Mybatis面试题-日更
- redis原理解析与案例分享
- 提升写作效率,让 Word 更好地为你所用
- 华为HCNA认证---简介及资源
- 天正电气2014的安装
- Twitter + Elasticsearch 数据分析总结
- LR11补丁下载地址
- c语言一个数中是否含有8,要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)...
- 入手评测华为nova10和vivoS15pro选哪个
- 三、为什么要使用RabbitMQ?他解决了什么问题?
- 基于ZigBee 的多点温度采集系统设计与实现
- 这是我看过最好的「机器学习」科普文章了
- 数通--交互技术--STP+RSTP详解
- MyBatis——》转义字符(大于,小于,大于等于,小于等于)
- 南京大学软件质量研究所