开发者社区> 问答> 正文

Spring使用XML配置好还是注解的方式好?哪种优点更多,整体更好? - java报错

使用注解的时候也是需要在XML里面必要的扫描配置,不能完全脱离配置文件。而且自定义的类还好,如果是JDK 或者第三方的jar包,就没有办法在里面加注解。而且,使用面向接口编程,如果一个接口有多个实现类呢?注解的方式就不知道注入哪个类的对象了,XML配置的话,因为在bean标签里只能配置普通类(不能是接口和抽象类),并且哪怕是同一个接口的不同实现类,在id属性中的名字都是不一样的。所以注入到某个调用者中的时候,类型是明确的某个实现类。而且都说用xml配置解耦性更强。似乎完全用XML配置更强大,不知道我理解的对吗?

展开
收起
montos 2020-06-02 21:36:37 537 0
1 条回答
写回答
取消 提交回答
  • 注解的实现原理有个类全局扫描,注解分析的过程(自定义类或jar包越多,此过程越庞大),而XML配置只要加载xml文件并分析就行了。

    XML的好处是配置集中,维护方便,注解的优点是配置分散,这个也是它的缺点,两者用得恰当都是很灵活的

    ######回复 @BoXuan : 额,谢谢。我对依赖注入虽然知道一些可是它的好处还是不是特别的深刻。我主要是用来和hibernate结合管理事物。不知道是不是线程安全的,比如多个用户同时操作相同的数据。######回复 @颖辉小居 : Spring的核心就是依赖注入,这个功能很大程度上都是依赖注解的,如果光靠XML去手动配置,那就得累死人了######回复 @BoXuan : 谢谢######回复 @颖辉小居 : 只要有第三方jar包源码,加上注解重新编译为jar包,你就能正确的解析注解,没源码你就老实的用XML吧。 JDK我个人建议不要妄动######谢谢,请问如果是JDK 或者第三方的jar包是不是不能用注解的方式了######

    复杂的使用xml,例如数据源配置,redis配置,缓存配置。

    简单的使用注解,例如由spring管理的dao和service实例,这种bean一般都是@Service(name)和@Resource(name=xxx),没有复杂的配置。

    ######正解。各有千秋,注解更简单方便,XML功能更强的######springboot  xml一边去
    2020-06-02 21:36:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载