Spring:autowired字段为null

ser*_*nni 2 java spring javabeans autowired

我需要将外部lib类连接到我的bean,以便将其用作单例.
.xml配置:

<bean id="myBean" class="com.my.MyBean">
 <property name="someLib" value="com.ExternalBean" />
</bean>
Run Code Online (Sandbox Code Playgroud)

java bean:

@Service
public class MyBean {

    @Autowired
    private ExternalBean externalBean;


    public void setExternalBean(ExternalBean externalBean) {
        this.externalBean = externalBean;
    }
Run Code Online (Sandbox Code Playgroud)

此外,我externalBean在公共方法中使用有线变量,以便不在每个方法调用中实例化它.问题是它null.

我是否正确连接豆?什么是错误.

loo*_*awa 5

您必须将外部类定义为bean才能使@Autowired工作.

<bean id="externalBean" class="some.external.package.ExternalBean">
</bean>

<bean id="myBean" class="com.my.MyBean">
</bean>
Run Code Online (Sandbox Code Playgroud)

此外,如果你使用@Autowired,你不需要它的setter.