@Autowired
 private DeviceService emsDeviceServiceImpl;
 public void setEmsDeviceServiceImpl(DeviceService deviceService) {
  this.emsDeviceServiceImpl = deviceService;
 }
-------以上是复制来的代码
 
 @Autowired不是自动添加set,get的了吗?为什么Service层还要有set方法的?javaautowiredservicespring

解决方案 »

  1.   

    @Autowired是自动装配,
    有了set方法才可以自动装配
      

  2.   

    不过这个set方法看起来有点小变化哦
      

  3.   

    @Autowired
     private DeviceService emsDeviceServiceImpl;
    或者:@Autowired
     public void setEmsDeviceServiceImpl(DeviceService deviceService) {
      this.emsDeviceServiceImpl = deviceService;
     }
      

  4.   

    @Autowired是由Spring执行的,set方法可以在其他程序中进行调用。你可以搜索一下set方法是不是被调用过,通常情况下可以没有set方法。另:@Autowired写在属性上或是写在方法上都可以,有一个就行了。
      

  5.   

    @Autowired就是让set方法不需要写的。
      

  6.   

    网上说Service层必须要有set方法,请大侠指教
      

  7.   


    你确认一下你在网上看的Spring的版本吧,早期的用XML配置的时候必须要有set方法,现在基本上可以没有了。
    当然,如果你在其他程序中需要用到set方法的话也是必须要有的。
      

  8.   

    你把@Autowired写在set方法上看看
      

  9.   

    请问这样对比什么意思?既然两中都可以,那第二种的set方法不是多余的?
      

  10.   

    spring 内置自动装配,所谓的动态注入