主要的参考资料:
http://www.cnblogs.com/zemliu/archive/2013/08/06/3239718.html
http://www.iteye.com/problems/82189
http://bbs.csdn.net/topics/390239820/
http://blog.csdn.net/huaishuming/article/details/39676627
http://www.iteye.com/problems/82189 题目:ssh中把service注入到action,为什么不能注入service的实现类
Spring Web MVC支持多种类型的控制器,比如实现Controller接口,从Spring2.5开始支持注解方式的控制器(如@Controller、@RequestMapping、@RequestParam、@ModelAttribute等),我们也可以实现自己的控制器(只需要定义相应的HandlerMapping和HandlerAdapter即可)。还有部分公司使用继承Controller接口实现方式。
dao service接口的注入 service中要注入dao接口还是dao实现类,要看业务需求。因为当一个service需要多个dao类的方法时候,注入dao接口可以尽可能避免代码冗余(例如大量不同service的类的实例化)。
把DAO实现类注入到service实现类中,把service的接口(注意不要是service的实现类)注入到action中,注
入时不要new 这个注入的类,因为spring会自动注入,如果手动再new的话会出现错误,然后属性加上
@Autowired后不需要getter()和setter()方法,Spring也会自动注入。还有一种情况也不需要实例化,应该是其他的注解。
在spring的配置文件里面可以使用base-package=”*”表示全部的类。这一点和前一篇文章对注解的xml文件配置结合起来看。
在接口前面标上@Autowired和@Qualifier注释使得接口可以被容器注入,当接口存在两个实现类的时候必须指定其中一个来注入,使用实现类首字母小写的字符串来注入。