Spring 基于注解 和 基于配置的一点问题?

来源:互联网 发布:香港网络购物网站 编辑:程序博客网 时间:2024/05/17 21:52

Spring 基于注解 和 基于配置的一点问题?

1. Spring有基于注解的和基于配置文件的,我觉得基于注解的很方便;是不是因为基于配置的先存在,所以才会有两者并存的局面?大家觉得哪种更好一些?
2. 基于配置的使用方法,需要配置<context:component-scan base-package="com.***"/>; 那为什么要指定包名, 不能整个工程都使用注解吗? 或者有可以整个可以使用注解的方式, 那能不能连这个配置也舍弃了?
初学者,有点不明白,希望大家能够指点一下
关注者
41
被浏览
7638

8 个回答

最开始是自己new实例,然后出现了XML配置,但是XML配置一多就让人头痛,于是有了annotation-config,不用配置<property>和<constructor-arg>。但是bean一多一个一个写<bean>下去也麻烦,component-scan就可以通过注解解决这个麻烦。但是有些程序员是痛恨XML联盟的,于是又有基于Java的配置,通过Configuration和Bean这两个注解,完全不用配置XML了。

当然你也可以让Spring扫描整个工程,但是工程一大,这也会影响性能。况且现在架构都是分层的,有些包根本就没有注解。
发布于 2015-06-05

在Spring出现之前,是通过new 对象来实例化bean的。Spring发现:靠,到处都是new不好管理,我来告诉大家一个不需要new的方法。 于是用xml配置文件将要实例化的代码进行配置。 这样配置之后发现:靠这么多bean一个一个写会写死啊,于是来一个componet-scan 将在包下的添加了注解的bean进行初始化。

好吧!其实,基于注解是在java5中才出现的。
发布于 2015-04-03

我有段时候很讨厌用xml配置,都使用注解,后面发现有些还是xml方便,毕竟改java文件还是麻烦一些,所以我现在的策略是:不会修改、极少修改的用注解,会修改的用xml配置,如AOP的配置我就用XML,因为这个的改成场景比较多。

发布于 2017-07-22

同意

@晓风轻
,注解使用还是谨慎些,我习惯使用xml,项目的配置文件基本在一个目录,有哪些配置很容易了解,你加个注解可能散到项目内各个位置,不好管理。当然也会用些注解,如

1.spring mvc controller中全部注解完成

2.Autowired注解

其余的全部xml

如数据库、系统环境配置、实体映射关系、实体描述、aop等。。

另外,最近用了spring boot,看来注解还是很受大家欢迎的

发布于 2017-07-24
除非历史遗留/特殊场景,否则全部spring-boot加代码配置。
过去的惯用法是所有东西都用xml配置,美其名曰配置代码分离,但是不见得多清晰,而且要等到运行期才知道写没写错。最大的好处可能是配置都堆在一起,不会看漏。
代码配置也不是所有东西都用代码,大多数真正的变量,比如数据库地址,还是在配置文件里。通常不变的东西,比如Bean的声明,放在了代码里。但是如果使用不当项目里到处飞配置也挺难受的。
编辑于 2017-07-23

首先呢。我说说我们公司开发的情况。

首先我们大部分都是使用注解的方式来做开发,少数需要固定配置的东西我们会使用xml来维护。所以使用注解和包扫描来进行对象或者某些配置拦截器或者适配器,或者初始化的时候挺多的。

另外至于为什么不使用直接扫面整个工程这种做法呢

举个例子来说明好了,例如你有两个相同名字的适配器来做不同的操作,那么你需要指定到扫描那个具体的包来执行。指定到具体某个包下,可以减少有可能出现重名配置类的冲突。

哦,还有一点,我们做开发的时候,mvc分层,分包其实很细致。所以指定到具体的包很有必要。

编辑于 2017-07-28
注解好 ,能拿到的信息量比xml多。扩展性更好
编辑于 2017-07-24
注解的好处是同一个功能的代码都“在一起”,不会分散的到处都是(xml还有些配置),方便作者以外的人阅读和迁移代码
发布于 2017-07-23
原创粉丝点击