Spring使用自动连线注释出错

Spring使用自动连线注释出错,spring,Spring,这是我的java代码,它可以与getter和setter一起工作,但我想用@autowired注释替换getter和setter,如下所示: private String filterChainDefinitions; public String getFilterChainDefinitions() { return filterChainDefinitions; } public void setFilterChainDefinitions(String filterChainDe

这是我的java代码,它可以与getter和setter一起工作,但我想用@autowired注释替换getter和setter,如下所示:

private String filterChainDefinitions;
public String getFilterChainDefinitions() {
    return filterChainDefinitions;
}

public void setFilterChainDefinitions(String filterChainDefinitions) {
    this.filterChainDefinitions = filterChainDefinitions;
}
它会得到错误:

@Autowired
private String filterChainDefinitions;

那么,我的代码出了什么问题?或者我应该使用其他注释?

setter和getter方法是有效的,因为在配置XML中,您直接使用

@Autowired在显式声明的bean上工作

如果要使用@Autowired设置filterChainDefinitions,则必须首先声明它,如下所示:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [java.lang.String] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480)
... 34 more

您的应用程序上下文中真的只有一个字符串bean吗?而且,@Autowired不用于替换getter和setter。你到底想实现什么?我试图用较短的代码替换getter和setter,有任何注释可以做到吗?现在还不清楚:你不想显式地编写getter/setter,而仍然喜欢getter/setter?或者您甚至不想为春季使用的bean使用getter/setter?
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [java.lang.String] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480)
... 34 more
<bean id="filterChainDefinitions" class="java.lang.String">
    <constructor-arg value="/test/login=anon"/>
</bean>