一般@Resource就行了吧~

解决方案 »

  1.   


    @Resource(name = "allRoleService")
    private AllRoleService allRoleService;
      

  2.   

    @Autowired @Resource都可以
    Autowired默认按类型装配
    Resource默认安装名称进行装配
      

  3.   

    Action层里面注入Service是自己封装的一个Spring容器。
    ServiceProvider.getService()自己上网找吧……
      

  4.   

    貌似现在比较流行用@Resource注解
      

  5.   

    1、byName  根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。
     2、byType   如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生。
      

  6.   

    @Autowired @Resource都可以
    可以这样理解
    如下:
    @Autowired
    pirvate CurryUserService curryUserService;
    @Autowired
    pirvate CurryUserService abc;
    //这两种都可以注入成功而
    @Resource(name = "curryUserService") 
    private CurryUserService curryUserService;  //注入成功@Resource(name = "curryUserService") 
    private CurryUserService abc;  //注入失败,因为对象名和@Resource中的name值不一致
      

  7.   

    Autowired 采用的是ApplicationContext.getBean(Class) 函数,根据接口类型注入,也就是说有多个相同类型的实例的话,就会报错了
    Resource 采用ApplicationContext.getBean(String name)函数,根据托管实例的名称注入,同样相同名字的实例只能有一个另外就是底层实现机制的不同,我记得根据spring文档上的说明,AOP环境中,Autowired采用了cglib进行代理构建,而Resource采用java代理进行构建
    再有就是,对于其他可能的IoC框架而言,采用Resource可以实现平滑过滤,而Autowired是spring自身的实现注解,不能对其他框架提供兼容
      

  8.   

    像这种东西spring的开发手册都写的很清楚,楼主为何要来这问
      

  9.   

    嗯, 我所参与的项目中都使用@Autowired
      

  10.   

    @Autowired是spring包里的注解
    @Resource是java包里的注解
    所以我用@Autowired
      

  11.   

    两个都用,工程大的时候会配合Qualitifier使用。
      

  12.   

    楼主说的正确,就是用 标签注解,有个struts和spring整合插件,无需注入 action类,自动识别里面的注解,明白?
      

  13.   

    +10086 建议使用@Resource进行注入!