xml配置文件于现在的J2EE开发中,几乎是不可能不接触到。从数据载体,到协议载体,到项目配置,现在甚至成了开发的一个输出物。以前写c的时候,提交一个.c文件就可以了,到后来写java,提交的是.java文件或者jsp文件。到如今如果用官方标准的J2EE实现方式来开发一个项目,jsp,javabean,session bean会有一些xml配置文件,entity bean也会有一些xml配置文件,再如果使用Struts+Spring+hibernate的非官方J2EE实现框架,那就真的是有无数的xml配置文件要提交,无数xml的配置文件在项目里碍眼。要维护一个用如此框架建设的项目,就算只是需要修改一个功能点,我们也需要至少打开七八个文件,然后从一个java看到一个xml,再从一个xml看到一个java。最后好不容易找到需要修改的地方了,改掉起服务,发现没改对,傻眼了,原来配置文件配错了….哎,折腾吧。
框架应该用到xml来做一些开发产出物的替代,但绝不能滥用。在我看来xml的优点是它容易修改,修改后不用编译。但缺点也在这里,不能编译我怎么知道改对没有,尽管现在有很多校验方式和IDE的支持,但这些都不如编译这个如此有效的避免低级错误的手段。倒是xml用作配置一些项目很基础的信息是蛮好的,比如web.xml。这些信息根据部署环境不同,可能会有一些调整,这些会调整的信息如果在xml中配置,然后再利用ant打包时根据不同的环境需要进行一定的修改,这样从开发到测试到发布的过程就显得相当和谐了。
说了这么多xml的不好,再看看SSH框架中,每一个单元都会有大量xml的输出物。那么为了给SSH减肥,我定的目标是,除了struts.xml,spring最基本的配置数据库和事务的xml,hibernate的hibernate.cfg.xml,其余统统去掉。我希望大家开发一组简单功能(比方一个对象的CURD)的输出物应该是若干JSP文件,一个action类文件,一个service类文件,若干域对象类文件,没有xml配置文件。这样虽然算不上真正的0 xml,毕竟整个项目中保留了三四个基本xml配置。我觉得真要全部去掉xml配置也太极端。
目标定下来,那xml的替代物,当然是annotation。目前hibernate对annotation的支持相当好,spring也有了自己的annotation项目,但限于使用jdk1.6,struts2提出了zero configuration的概念,但做得却so so。我们先从hibernate说起吧。
分享到:
相关推荐
ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ...
rapidsh-SSH经典整合框架-包括权限管理-文件上传下载-用户管理-分页-lookup
自己手动搭建的一个ssh框架,对于初学者有很好的帮助!数据库oracle,c3p0连接池……
java SSH框架--学生学籍管理系统
这是一个spring-boot整合ssm和ssh框架所需要的pom依赖文件
ssh框架-后台管理模板 包含mysql基础数据库
ssh框架配置文件的实例,教会大家使用ssh框架的xml配置
使用myeclipse8.5与mysql搭建的SSH框架,并含有登陆实例,自己创建users数据库表,直接就可以跑起来
SSH框架及配置文件
ssh配置文件ssh配置文件ssh配置文件ssh配置文件
│ 北京动力节点SSH前言-016-Log4j-日志输出控制文件的作用.mp4 │ 北京动力节点SSH前言-017-Log4j-日志的用途及Log4j.mp4 │ 北京动力节点SSH前言-018-Log4j-日志基础.mp4 │ 北京动力节点SSH前言-019-Log4j-Log4j...
数据库使用的是MySql 5.7,已导出为sql文件(blog.sql) 包括后台管理和前端展示两部分构成: * 后台使用Easyui进行开发的界面 * 前台使用Bootstrap开发的界面 前台和后台交互全部通过ajax传输json来进行数据...
这是我第一次用Spring+Struts2+Hibernate框架写的项目,数据库使用的是mysql,应该比较适合初学者
ssh框架事务管理applicationContext.xml配置文件
idea配置ssh框架
SSH三大框架集成或单独配置相关配置文件详解,超全!
ssh框架简单示例,使用ssh框架实现简单的注册登录,适合初学习ssh框架的人来参考练习!
提供一套SSH框架实现的办公自动化系统、供学习参考。
最基础的SSH框架应用,最基础的ssh框架使用案例
ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh...