在Spring应用程序中充当bean的类是否同时需要@Component和@Named?如果两者都这样使用有什么意义?我尝试在网上搜索并查看了这些注释的标准文档,发现它们有点困惑。如果@Named注释没有为bean指定任何名称,那么最终应用程序会采用哪个名称? 最佳答案 @Component和@Named是基本上做同样事情的注解,但来自不同的API。@Component属于SpringAPI。它将要自动检测为bean的类标记为可以选择允许您为该bean指定一个名称(@Component("foo"))。如果没有明确的名称规范,检测到
在Spring应用程序中充当bean的类是否同时需要@Component和@Named?如果两者都这样使用有什么意义?我尝试在网上搜索并查看了这些注释的标准文档,发现它们有点困惑。如果@Named注释没有为bean指定任何名称,那么最终应用程序会采用哪个名称? 最佳答案 @Component和@Named是基本上做同样事情的注解,但来自不同的API。@Component属于SpringAPI。它将要自动检测为bean的类标记为可以选择允许您为该bean指定一个名称(@Component("foo"))。如果没有明确的名称规范,检测到
哪个更正确?这个(方法上有@Autowired注解)?@ControllerpublicclassMyController{privateMyDaomyDao;@AutowiredpublicMyController(MyDaomyDao){this.myDao=myDao;}这个(属性上有@Autowired注解)?@ControllerpublicclassMyController{@AutowiredprivateMyDaomyDao;publicMyController(MyDaomyDao){this.myDao=myDao;}@Autowired注释应该放在哪里?
哪个更正确?这个(方法上有@Autowired注解)?@ControllerpublicclassMyController{privateMyDaomyDao;@AutowiredpublicMyController(MyDaomyDao){this.myDao=myDao;}这个(属性上有@Autowired注解)?@ControllerpublicclassMyController{@AutowiredprivateMyDaomyDao;publicMyController(MyDaomyDao){this.myDao=myDao;}@Autowired注释应该放在哪里?
我有一个封装了一个连接池的类,该类从一个spring配置中获取它的连接细节,如下所示:此bean稍后在服务中使用,并使用@Autowire注释Autowiring。我的问题是,我怎样才能复制这个bean并给它不同的连接细节,然后在服务中@Autowire它。意思除了上面我还有:在服务中:@Autowired//beanofidjedisConnectorJedisConnectorbeanA;@Autowired//beanofidjedisConnectorPODJedisConnectorbeanB; 最佳答案 您可以将@Aut
我有一个封装了一个连接池的类,该类从一个spring配置中获取它的连接细节,如下所示:此bean稍后在服务中使用,并使用@Autowire注释Autowiring。我的问题是,我怎样才能复制这个bean并给它不同的连接细节,然后在服务中@Autowire它。意思除了上面我还有:在服务中:@Autowired//beanofidjedisConnectorJedisConnectorbeanA;@Autowired//beanofidjedisConnectorPODJedisConnectorbeanB; 最佳答案 您可以将@Aut
我有一个groovy类,我想在其中Autowiring一个属性值。例如:public@Value("${valueA}")StringvalueA;在我的应用程序上下文中添加属性占位符app.properties为“valueA”设置了一个值,因此理论上这应该在运行时填充我的类中的字符串valueA。如果我使用java类,则此设置可以完美运行,但如果我使用groovy类,则不会。我得到一个编译错误:Error:expected'$valueA'tobeaninlineconstantoftypejava.lang.Stringin@org.springframework.beans.f
我有一个groovy类,我想在其中Autowiring一个属性值。例如:public@Value("${valueA}")StringvalueA;在我的应用程序上下文中添加属性占位符app.properties为“valueA”设置了一个值,因此理论上这应该在运行时填充我的类中的字符串valueA。如果我使用java类,则此设置可以完美运行,但如果我使用groovy类,则不会。我得到一个编译错误:Error:expected'$valueA'tobeaninlineconstantoftypejava.lang.Stringin@org.springframework.beans.f
我想在Spring中从基于XML的配置切换到基于Java的配置。现在我们的应用程序上下文中有这样的东西:但是如果我写这样的东西......@ComponentScan(basePackages={"foo.bar","foo.baz"},excludeFilters=@ComponentScan.Filter(value=Service.class,type=FilterType.ANNOTATION))...它将从两个包中排除服务。我有一种强烈的感觉,我忽略了一些令人尴尬的微不足道的事情,但我找不到将过滤器的范围限制为foo.bar的解决方案。 最佳答案
我想在Spring中从基于XML的配置切换到基于Java的配置。现在我们的应用程序上下文中有这样的东西:但是如果我写这样的东西......@ComponentScan(basePackages={"foo.bar","foo.baz"},excludeFilters=@ComponentScan.Filter(value=Service.class,type=FilterType.ANNOTATION))...它将从两个包中排除服务。我有一种强烈的感觉,我忽略了一些令人尴尬的微不足道的事情,但我找不到将过滤器的范围限制为foo.bar的解决方案。 最佳答案