我定义了以下控制器:
@Controller
@RequestMapping("/test")
public class MyController extends AbstractController
{
@Autowired
public MyController(@Qualifier("anotherController") AnotherController anotherController))
{
...
}
}
我想知道是否可以在 @Qualifier 注释中使用变量,以便我可以为不同的 .properties 文件注入不同的控制器,例如:
@Controller
@RequestMapping("/test")
public class MyController extends AbstractController
{
@Autowired
public MyController(@Qualifier("${awesomeController}") AnotherController anotherController))
{
...
}
}
每当我尝试时,我都会得到:
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No matching bean of type [com.example.MyController] found for dependency:
expected at least 1 bean which qualifies as autowire candidate for this
dependency. Dependency annotations:
{@org.springframework.beans.factory.annotation.Qualifier(value=${awesomeController})
我在 config.xml 文件中包含了以下 bean:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/application.properties</value>
</list>
</property>
</bean>
但是除非我在 xml 文件中明确声明 bean,否则 bean 不起作用。
我如何使用注释来做到这一点?