Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring-自动连接字段为空_Java_Spring_Dependency Injection_Inversion Of Control_Autowired - Fatal编程技术网

Java Spring-自动连接字段为空

Java Spring-自动连接字段为空,java,spring,dependency-injection,inversion-of-control,autowired,Java,Spring,Dependency Injection,Inversion Of Control,Autowired,我在Spring框架中遇到了一个问题:@Autowired为null,但是Spring没有抛出任何异常,我不理解为什么这些字段为null 我有一门课: package com.processing.gates; public class Main { private final ApplicationContext context = Context.getContext(); @Autowired private PaymentGateFactory paymentGat

我在Spring框架中遇到了一个问题:
@Autowired
为null,但是Spring没有抛出任何异常,我不理解为什么这些字段为null

我有一门课:

package com.processing.gates;

public class Main {

    private final ApplicationContext context = Context.getContext();

    @Autowired private PaymentGateFactory paymentGateFactory;
    @Autowired private CalculatorChooser calculatorChooser;

    //...
}
例如,我有以下课程:

package com.processing.gates.comission;

@Component
public class CalculatorChooser {
    //...
}
以下是我的Spring配置xml:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jdbc="http://www.springframework.org/schema/jdbc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/jdbc 
        http://www.springframework.org/schema/jdbc/spring-jdbc.xsd">

    <context:annotation-config />
    <context:component-scan base-package="com.processing.gates"/>


    <bean id="logPath" class="java.lang.String"> <!-- путь к папке с логами -->
        <constructor-arg value="/home/yoba/NetBeansProjects/processing/gates/log/"/>
    </bean>
    <!-- ... -->
</beans>

它很好用。但是@Autowired不起作用。我怎样才能解决这个问题?谢谢

让Spring通过在应用程序上下文文件中声明
Main
bean或使用
@Component
注释来管理bean,就像您对
CalculatorChooser

<bean id="mainBean" class="com.processing.gates.Main"/>


谢谢,这很有帮助!所以春天只能在豆子里自动连接田地?是的@gth99。如果spring不知道某个类,那么它就没有理由去窥探它
<bean id="mainBean" class="com.processing.gates.Main"/>