Spring Support: Implement bean references in @Qualifier annotations

#KT-12092 Fixed
This commit is contained in:
Alexey Sedunov
2016-04-27 15:41:05 +03:00
parent 4a65b1c65c
commit df46a8c67a
20 changed files with 328 additions and 4 deletions
@@ -0,0 +1,12 @@
// ELEMENT: existingBean1
// CHAR: \n
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("exist<caret>ing") @Autowired lateinit var multi1: MultiHolder
}
@@ -0,0 +1,12 @@
// ELEMENT: existingBean1
// CHAR: \n
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("existingBean1ing") @Autowired lateinit var multi1: MultiHolder
}
@@ -0,0 +1,12 @@
// ELEMENT: existingBean1
// CHAR: \t
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("exist<caret>ing") @Autowired lateinit var multi1: MultiHolder
}
@@ -0,0 +1,12 @@
// ELEMENT: existingBean1
// CHAR: \t
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("existingBean1") @Autowired lateinit var multi1: MultiHolder
}
@@ -4,4 +4,16 @@
<bean id="fooBean" class="java.lang.String"/>
<bean id="barBean" class="java.lang.String"/>
<bean id="scopedBean" class="test.ScopedBean"/>
<bean class="bean.MultiHolder" name="existingBean1">
<constructor-arg name="thing" value="1"/>
</bean>
<bean class="bean.MultiHolder" name="existingBean2">
<constructor-arg name="thing" value="2"/>
</bean>
<bean class="bean.MultiHolder" name="anotherBean">
<constructor-arg name="thing" value="0"/>
</bean>
<bean class="bean.AutoMultiUser" name="existingBean3">
</bean>
</beans>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="bean.MultiHolder" name="existingBean1">
<constructor-arg name="thing" value="1"/>
</bean>
<bean class="bean.MultiHolder" name="existingBean2">
<constructor-arg name="thing" value="2"/>
</bean>
<bean class="bean.MultiHolder" name="anotherBean">
<constructor-arg name="thing" value="0"/>
</bean>
<bean class="bean.AutoMultiUser" name="existingBean3">
</bean>
</beans>
@@ -0,0 +1,15 @@
// NUMBER: 3
// EXIST: { lookupString:"anotherBean" }
// EXIST: { lookupString:"existingBean1" }
// EXIST: { lookupString:"existingBean2" }
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("<caret>existingBean1") @Autowired lateinit var multi1: MultiHolder
}
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="bean.MultiHolder" name="existingBean1">
<constructor-arg name="thing" value="1"/>
</bean>
<bean class="bean.MultiHolder" name="existingBean2">
<constructor-arg name="thing" value="2"/>
</bean>
<bean class="bean.MultiHolder" name="anotherBean">
<constructor-arg name="thing" value="0"/>
</bean>
<bean class="bean.AutoMultiUser" name="existingBean3">
</bean>
</beans>
@@ -0,0 +1,14 @@
// NUMBER: 2
// EXIST: { lookupString:"existingBean1" }
// EXIST: { lookupString:"existingBean2" }
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("existing<caret>Bean2") @Autowired lateinit var multi2: MultiHolder
}
@@ -0,0 +1,11 @@
// REF: <bean class="bean.MultiHolder" name="existingBean1">\n <constructor-arg name="thing" value="1"/>\n </bean>
package bean
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
class MultiHolder(var thing: String)
class AutoMultiUser() {
@Qualifier("<caret>existingBean1") @Autowired lateinit var multi1: MultiHolder
}
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="bean.MultiHolder" name="existingBean1">
<constructor-arg name="thing" value="1"/>
</bean>
<bean class="bean.MultiHolder" name="existingBean2">
<constructor-arg name="thing" value="2"/>
</bean>
<bean class="bean.MultiHolder" name="anotherBean">
<constructor-arg name="thing" value="0"/>
</bean>
<bean class="bean.AutoMultiUser" name="existingBean3">
</bean>
</beans>