spring @Autowired service dao装配顺序?

代码结构如下:
@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机制不是特别熟悉。

看service是不是为null