我是春天新手。我试图在没有setter方法的情况下自动连接TestDAO。但我没有自动装配。
System.out.println(“TestClass.testDAO”+ testDAO);它返回null。
请帮我解锁。
我的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{
}
答案 0 :(得分:1)
以下是有关如何修复代码的示例:
@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);
}
}
希望它有所帮助,