`
steeven
  • 浏览: 313133 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

答复: xml和annotation的是是非非

阅读更多
这里有几个问题:
1. xml不适合做配置:
   配置多了, 效率和维护都很难看.
   xml格式严格, 容易出错.
2. xml的两个特例:
   如果有生成工具则又不在乎效率xml可以考虑. 一般场合可能没有.
   如果有逻辑关系特别复杂, xml比较适合表达.
3. annotation是个好东西, 但是不要用来写逻辑代码. 比如我们以前做权限认证@Admin @Root @Guest可以cover大部分场合, 复杂的权限认证用代码写在入口处.

4. annotation写配置及时编译就能检查出错误来. 舍我其谁? !

5. 十多行的annotation导致代码难看, 是正常的. Java代码本来就不简洁. 建议生成excel或者从excel生成代码, 这样看起来才方便. 不知道有没有uml插件可以把annotatin作为列呈现出来.
6. 以前做过一个不大的项目, 多语言都是用annotation实现的, 用于自动化框架很方便. 也省得翻译来翻译去的.

7. 不要试图把复杂的业务逻辑放到xml/annotation里面.

微软很多东西用xml因为他们有强大的IDE, java不要跟风. linux这点就很好. gnome因为xml吃多了,所起启动缓慢.

流行的不一定都是最好的, 追涨杀跌, 当心被套.
分享到:
评论

相关推荐

    jakarta.annotation-api-1.3.5-API文档-中文版.zip

    Maven坐标:jakarta.annotation:jakarta.annotation-api:1.3.5; 标签:annotation、api、jakarta、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    javax.annotation-api-1.2-API文档-中文版.zip

    Maven坐标:javax.annotation:javax.annotation-api:1.2; 标签:annotation、javax、api、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    jakarta.annotation-api-1.3.5-API文档-中英对照版.zip

    Maven坐标:jakarta.annotation:jakarta.annotation-api:1.3.5; 标签:annotation、api、jakarta、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容...

    javax.annotation-api-1.3.2-API文档-中文版.zip

    Maven坐标:javax.annotation:javax.annotation-api:1.3.2; 标签:annotation、javax、api、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    SpringMVC源码总结(二)mvc:mvc:annotation-driven背后的那些事

    首先,`mvc:annotation-driven`是一个XML配置元素,它简化了对Spring MVC应用中注解驱动功能的配置。通过添加这个元素,我们无需手动注册如`HandlerMapping`、`HandlerAdapter`、`ConversionService`、`Validator`等...

    xml和annotation的优缺点

    - **混合使用:** 实际开发中可以结合使用XML和注解配置,比如使用注解配置简单的组件,而复杂的业务逻辑和全局配置则通过XML进行管理。 - **工具支持:** 使用IDE等工具可以帮助更好地管理和维护XML配置文件,减少...

    javax.annotation-api-1.2-API文档-中英对照版.zip

    Maven坐标:javax.annotation:javax.annotation-api:1.2; 标签:annotation、javax、api、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容...

    geronimo-annotation_1.0_spec-1.1.1-API文档-中文版.zip

    赠送jar包:geronimo-annotation_1.0_spec-1.1.1.jar; 赠送原API文档:geronimo-annotation_1.0_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,

    javax.annotation-api-1.3.2-API文档-中英对照版.zip

    赠送jar包:javax.annotation-api-1.3.2.jar; 赠送原API文档:javax.annotation-api-1.3.2-javadoc....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    jakarta.annotation-api-1.3.5.jar中文-英文对照文档.zip

    Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】...

    mybatis学习总结:annotation与xml结合示例

    本篇文章将聚焦于MyBatis中的注解(Annotation)与XML配置的结合使用,旨在帮助开发者更深入地理解这一关键特性。 首先,MyBatis允许我们使用注解来简化Mapper接口的定义,无需编写XML映射文件。例如,我们可以在...

    拦截器与冲突解决

    在Spring MVC框架中,拦截器(Interceptor)是用于处理请求的一种机制,它可以对HTTP...在实际问题解决中,根据上述建议结合具体代码进行调整和测试,通常能有效地解决拦截器与`<mvc:annotation-driven />`的冲突问题。

    javax.annotation-api-1.3.2

    JDK9及以上版本没有javax.annotation-api-***.jar包 ,无法使用注解:@Resource JDK新特性,高版本JDK没有自带的javax(java扩展包)了。或者是使用的JDK不完整。 下载javax.annotation.jar包,导入到lib文件夹下,...

    androidx-annotation-1.2.0.jar

    androidx-annotation-1.2.0.jar

    javax.annotation-api-1.3.2 jar包.rar

    `javax.annotation-api-1.3.2.jar` 包是Java标准版(Java SE)中的一个关键组件,它包含了用于开发和实现注解的API。这个API主要用于提供一些预定义的注解,这些注解可以增强代码的功能性和可维护性,同时减少对传统...

    javax.annotation

    【标题】"javax.annotation"是Java编程语言中用于元编程的一个关键组件,它提供了一系列的注解(annotations),这些注解在编译时或运行时被处理,以增强代码的功能和安全性。在Java世界里,注解是一种强大的工具,...

    用Annotation简化Java程序的开发(PDF)

    4. **适用场景:** Annotation更适合于那些需要在编译时确定配置信息的场景,而XML配置文件则适合于那些需要在运行时动态调整配置的应用场景。 #### 五、结论 总的来说,Annotation作为一种新兴的技术,为简化Java...

    jakarta commons-API

    这个库是为了处理配置文件而设计的,支持多种类型的配置源,如XML、属性文件、系统属性和环境变量。`Commons-configuration-1.3-API.chm`涵盖了如何加载、解析和管理这些配置信息的API,使得在程序中动态读取和修改...

    Java实战篇:设计自己的Annotation

    接下来,我们可以在方法上使用自定义的`@TestMethod` Annotation: ```java public class Example { @TestMethod(description = "This is a test method.") public void myTestMethod() { System.out.println(...

Global site tag (gtag.js) - Google Analytics