spring注解的困惑

 

spring目的是解耦合,使用配置文件方式,一旦出现要修改的地方可以轻松的修改,甚至不用改java文件,不用重新编译等。

1. 如果使用注解方式,比如:@Autowired,那么如果修改起来,还是要修改源文件,重新编译。

2. 对于一些简单的接口实现等,感觉使用自动注入和new区别不大,使用注解和new效果差不多,修改起来都很费事,比如把dao注入到service:

 

@Autowired

@Qualifier("xxDao")

IXXDao xxDao;

IXXDao xxDao = new XXDaoImpl();

     感觉要换个实现类,都要修改源文件,都要修改这里,注解也就是修改量小一些,这样的话注解给人的感觉是解耦合了,但操作起来感觉也不是很简便。

 

3. 使用注解,开发起来很方便,的确比配置文件快,但是维护感觉很郁闷啊,经常修改别人代码,总要ctrl+H搜索自动注入的类在哪。

 

开发很久了,一直用配置文件,最近改用注解了,对于注解有些小疑惑,希望大家讨论讨论,解惑解惑。


个人见解:
当你的dao中xml配置有30-40个 那你的配置文件是不是很大了
阅读起来就不怎么舒服了.
有annotation 那么xml配置文件就简洁多了 只要一句自动扫描得配置就好了
但是也有缺点,无法对.class 文件 进行注入 这是只能用xml了
主要还是要看项目的约定,规定用annotation那就用annotation
规定用xml就用xml :D

:x :x 你也没说疑惑在哪呢,就是你上面提到的几点吗?我提倡使用配置文件,注解太分散,也不容易理解和查找。

我倒没有怎么用过注解,注解是在配置文件方式之后,可能别人觉得东西新就好用这个道理吧。

我是推荐使用配置文件,这样结构上面要清晰很多!用注解的话会很方便简单,但是对于大型项目的话,维护成本会较高。还有一点对于使用配置文件和注解两种方式哪种效率上面更高一些,这个也是一个可以讨论的话题。

spring 配置文件多了,很恶心,目前我遇到的是5个spring文件+注解,再spring配置文件里面找东西很麻烦...

如果springXML变了你的项目还是需要重新打包,(别告诉我你不编译就打包);

annotation 也有缺点,不过你说的也是... 一般spring都是单例,autowire就行,虽然不推荐...

其实用注解也挺好的吧,我想主要就是为了提高开发速度,调高开发的效率。当然配置文件便于维护,所以我还是推荐使用配置文件,这样起码在结构上比较清晰,维护也比较方便。