草庐IT

autowired

全部标签

spring - 有没有办法 @Autowire 需要构造函数参数的 bean?

我正在使用Spring3.0.5并尽可能为我的类(class)成员使用@Autowire注释。我需要Autowiring的bean之一需要为其构造函数提供参数。我浏览了Spring文档,但似乎找不到任何关于如何注释构造函数参数的引用。在XML中,我可以将其用作bean定义的一部分。@Autowire注解有类似的机制吗?例如:@ComponentpublicclassMyConstructorClass{Stringvar;publicMyConstructorClass(StringconstrArg){this.var=var;}...}@ServicepublicclassMyBe

spring - 当找到多个匹配的bean时,Spring如何按名称 Autowiring ?

假设我有这样的接口(interface):interfaceCountry{}classUSAimplementsCountry{}classUKimplementsCountry()还有这段配置xml:如何控制下面Autowiring的依赖项?我想要英国的。classMain{privateCountrycountry;@AutowiredpublicvoidsetCountry(Countrycountry){this.country=country;}}我正在使用Spring3.0.3.RELEASE。 最佳答案 这在sect

spring - 如何在 kotlin 中将 @Autowired 或 @Value 等 Spring 注释用于原始类型?

使用spring注释Autowiring非基元,例如@AutowiredlateinitvarmetaDataService:MetaDataService有效。但这不起作用:@Value("\${cacheTimeSeconds}")lateinitvarcacheTimeSeconds:Int出现错误:lateinitmodifierisnotallowedforprimitivetypes.如何将原始属性Autowiring到kotlin类中? 最佳答案 你也可以在构造函数中使用@Value注解:classTest(@Valu

java - @Autowired 和静态方法

我有@Autowired服务,它必须在静态方法中使用。我知道这是错误的,但我无法更改当前的设计,因为它需要大量的工作,所以我需要一些简单的技巧。我无法将randomMethod()更改为非静态的,我需要使用这个Autowiring的bean。任何线索如何做到这一点?@ServicepublicclassFoo{publicintdoStuff(){return1;}}publicclassBoo{@AutowiredFoofoo;publicstaticvoidrandomMethod(){foo.doStuff();}} 最佳答案

java - 您可以将@Autowired 与静态字段一起使用吗?

有没有办法将@Autowired与静态字段一起使用。如果没有,还有其他方法可以做到这一点吗? 最佳答案 简而言之,没有。您不能在Spring中自动连接或手动连接静态字段。您必须编写自己的逻辑来执行此操作。 关于java-您可以将@Autowired与静态字段一起使用吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1018797/

java - Autowiring 两个实现相同接口(interface)的 bean - 如何将默认 bean 设置为 Autowiring ?

背景:我有一个Spring2.5/Java/Tomcat应用程序。有下面这个bean,在整个应用中很多地方都用到了publicclassHibernateDeviceDaoimplementsDeviceDao以及以下新的bean:publicclassJdbcDeviceDaoimplementsDeviceDao第一个bean是这样配置的(包中的所有bean都包括在内)第二个(新)bean单独配置这会导致(当然)在启动服务器时出现异常:nestedexceptionisorg.springframework.beans.factory.NoSuchBeanDefinitionExc

java - Spring:为什么我们 Autowiring 接口(interface)而不是实现的类?

示例interfaceIA{publicvoidsomeFunction();}@Resource(name="b")classBimplementsIA{publicvoidsomeFunction(){//busycodeblock}publicvoidsomeBfunc(){//doingbthings}}@Resource(name="c")classCimplementsIA{publicvoidsomeFunction(){//busycodeblock}publicvoidsomeCfunc(){//doingCthings}}classMyRunner{@Autowir

java - Spring @Autowired 用法

使用的优缺点是什么?@Autowired在一个将由Spring连接的类中?澄清一下,我是专门谈论@Autowired注释,而不是XML中的Autowiring。我可能只是不明白它,但对我来说它几乎像是一种反模式-您的类开始意识到它们与DI框架相关联,而不仅仅是POJO。也许我是一个喜欢惩罚的人,但我喜欢为bean设置外部XML配置,而且我喜欢有明确的接线,所以我确切地知道在哪里接线。 最佳答案 很长一段时间以来,我相信拥有像我们过去都使用的xml文件一样的“集中式、声明式、配置”是有值(value)的。然后我意识到文件中的大部分内容

java - @Resource 与 @Autowired

我应该在DI中使用哪个注释,@Resource(jsr250)或@Autowired(Spring专用)?我过去都成功使用过@Resource(name="blah")和@Autowired@Qualifier("blah")我的直觉是坚持使用@Resource标签,因为它已被jsr人认可。有人对此有强烈的想法吗? 最佳答案 @Autowired(或@Inject)和@Resource都同样有效。但存在概念上的差异或含义上的差异@Resource意味着给我一个按名称知道的资源。名称是从带注释的setter或字段的名称中提取的,或者是

java - Autowiring 在 Spring 中是如何工作的?

我有点困惑inversionofcontrol(IoC)在Spring中工作。假设我有一个名为UserServiceImpl的服务类,它实现了UserService接口(interface)。这会是怎样的@Autowired?在我的Controllers中,我将如何instance这个服务的instance?我会做以下事情吗?UserServiceuserService=newUserServiceImpl(); 最佳答案 首先,也是最重要的-所有Springbean都是托管的-它们“存在”在一个容器中,称为“应用程序上下文”。其次