代码结构如下:
@Controller
public class MyController{
@Autowired
private MyService service;
}
@Service
public class MyService{
@Autowired
private MyFirstDao myFirstDao;
public void check(Integer id) {
//调用baseDao中基本的查询entity的方法
myFirstDao.find(id);//此处myFirstDao==null 为什么??
}
}
@Repository
public class MyFirstDao extends BaseDao{//FirstEntity extends BaseEntity
}
@Repository
public class MySecondDao extends BaseDao{//SecondEntity extends BaseEntity
}
public class BaseDao{
//实现基本的增删改查
public void find(){}
public void del(){}
public void add(){}
}
按照我的理解,在初始化controller时会自动注入service(即完成service的初始化并获一个实例对象),同时因为service中有用@Autowired标注MyFirstDao ,因此会同时给serivce注入myFirstDao才对,为什么myFirstDao没注入成功呢?获取到的dao为null。
此种场景下,要调用基本的baseDao中的查询方法应该如何解决呢?
注: 其他xml中的配置都没问题。
急求解答。初学者对spring机制不是特别熟悉。