提问者:小点点

当我想通过JavaConfig设置bean参数时,我必须删除@Component吗?还有其他方法吗?


我有一个用@Component注释的Spring bean。但是我想设置/指定bean参数。据我所知,如果我想坚持使用注释,我唯一的选择是在bean实例化时使用@Configuration类来指定参数。但是,在这种情况下,我必须删除@Component,因为它由@Configuration类来声明bean。

本质上,使用@Configuration和@Component似乎是相互排斥的。类似地,在XML中声明bean并使用@Component进行注释也是相互排斥的。

我发现在两个可能的地方有声明有点乱:类本身(如果用@Component注释并且不需要任何特殊的初始化)和JavaConfig类中。我是唯一一个这样看的人吗?或者有没有办法在仍然使用@Comonent注释的情况下指定参数?


共1个答案

匿名用户

当你按类型布线时,看起来@Component会赢过@Bean,但看起来这也没有记录在任何地方,所以你可能不想依赖它。

https://jira.springsource.org/browse/SPR-10795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

如果你真的想进行完整的注释,并且没有@Configuration或XML配置,那么你可以自动装配一个配置对象,该对象具有你需要的所有设置。在我看来,如果该类采用简单的配置参数,而不知道它们来自哪里,那么它会干净得多,所以我会使用@Configuration类。