我是春天的新手。我正在尝试不使用setter方法自动连接TestDAO。但是我无法自动接线。
System.out.println(“ TestClass.testDAO” + testDAO);它返回空值。
请帮助我解锁。
我的xml配置:
<context:component-scan base-package="com.test" />
<context:annotation-config/>
<bean id="testClass" class="com.test.TestClass" autowire="byName">
</bean>
Java类:
@Component
public class TestClass {
@Autowired(required=true)
public TestDAO testDAO = null;
{
System.out.println("TestClass.testDAO "+testDAO);
}
}
@Repository
public class TestDAO{
}
最佳答案
这是有关如何修复代码的示例:
@Component
public class TestClass {
@Autowired(required=true)
public TestDAO testDAO;
// When someone calls this method, the testDao component should
// be initialized with TestDAO instance.
public void someMethod(){
System.out.println("TestClass.testDAO "+testDAO);
}
}
public interface TestDAO extends JpaRepository<MyEntity, Long>{
}
另外,您可以在构造函数中使用
@Autowired
批注。@Component
public class TestClass {
public TestDAO testDAO;
@Autowired
public TestClass(TestDAO testDAO){
this.testDAO = testDAO;
System.out.println("TestClass.testDAO "+testDAO);
}
}
希望能帮助到你,