我有一个配置文件,我想根据配置文件创建不同的bean。

由于某种原因,这是可行的:

@Configuration
@Profile("myProfile")
public class myClass {


这不是,在Eclipse中给出错误消息:


  此位置不允许使用注释@Profile


@Bean
@Profile("myProfile")


我宁愿使用第二个,但不确定是否可以。 Spring API说它应该工作:


  @Profile批注可以通过以下任何一种方式使用:
  
  
  作为直接或间接在任何类上的类型级注释
  用@Component注释,包括@Configuration
  作为一个
  元注释,用于组成自定义构造型
  注解
  作为任何@Bean方法上的方法级注释
  


我正在使用Sping Framework 3.1.0,是否有可能仅在之后引入@Bean方法的使用?

最佳答案

是的,它是在春季4中引入的。


版本3.2.9.RELEASE中的@Profile仅允许将此注释放置在类型上。


  @Target(值= TYPE)

4.0.0.RELEASE版本中的@Profile允许将此注释放置在类型和方法上。


  @Target(值= {TYPE,METHOD})

09-10 03:15
查看更多