webservice 通过@Autowired 调用业务层

J2EE 码拜 10年前 (2015-04-02) 2009次浏览 0个评论

我写了一个webservice接口,在实现的部分调用业务层,是使用的自动注入的方式

public class SvrImplement implements SrvInterface {

	private  ProductService ps;
	public ProductService getPs() {
		return ps;
	}
	@Autowired
	public void setPs(ProductService ps) {
		this.ps = ps;
	}
	 
	public List<Product> testFun(String id){
		 List<Product> list = null;
		 try{
			 logger.info("--------1-------webservice-----<><><><>-------------id----------="+id);
			 logger.info("--------1-------webservice-----<><><><>-----------------------");
			 list=ps.findbyid(id);
			 logger.info("--------2-------webservice-----<><><><>-----------------------");
		 }catch(Exception e){
			 logger.error(e);
		 }finally{
			 return list; 
		 }
	}
}

但是,被注入的类始终是null。同样的业务类,我在使用springmvc里面的controller进行自动注入,就可以初始化。这是怎么回事啊,大神们救命啊 !

webservice 通过@Autowired 调用业务层
15分
引用 楼主 wodehongseupan 的回复:

我写了一个webservice接口,在实现的部分调用业务层,是使用的自动注入的方式

public class SvrImplement implements SrvInterface {

	private  ProductService ps;
	public ProductService getPs() {
		return ps;
	}
	@Autowired
	public void setPs(ProductService ps) {
		this.ps = ps;
	}
	 
	public List<Product> testFun(String id){
		 List<Product> list = null;
		 try{
			 logger.info("--------1-------webservice-----<><><><>-------------id----------="+id);
			 logger.info("--------1-------webservice-----<><><><>-----------------------");
			 list=ps.findbyid(id);
			 logger.info("--------2-------webservice-----<><><><>-----------------------");
		 }catch(Exception e){
			 logger.error(e);
		 }finally{
			 return list; 
		 }
	}
}

但是,被注入的类始终是null。同样的业务类,我在使用springmvc里面的controller进行自动注入,就可以初始化。这是怎么回事啊,大神们救命啊 !

再增加一个扫描的路径
<context:component-scan base-package=”***”/>

webservice 通过@Autowired 调用业务层
引用 1 楼 liangtu33 的回复:
Quote: 引用 楼主 wodehongseupan 的回复:

我写了一个webservice接口,在实现的部分调用业务层,是使用的自动注入的方式

public class SvrImplement implements SrvInterface {

	private  ProductService ps;
	public ProductService getPs() {
		return ps;
	}
	@Autowired
	public void setPs(ProductService ps) {
		this.ps = ps;
	}
	 
	public List<Product> testFun(String id){
		 List<Product> list = null;
		 try{
			 logger.info("--------1-------webservice-----<><><><>-------------id----------="+id);
			 logger.info("--------1-------webservice-----<><><><>-----------------------");
			 list=ps.findbyid(id);
			 logger.info("--------2-------webservice-----<><><><>-----------------------");
		 }catch(Exception e){
			 logger.error(e);
		 }finally{
			 return list; 
		 }
	}
}

但是,被注入的类始终是null。同样的业务类,我在使用springmvc里面的controller进行自动注入,就可以初始化。这是怎么回事啊,大神们救命啊 !

再增加一个扫描的路径
<context:component-scan base-package=”***”/>

我增加了<context:component-scan base-package=”com.waiqin.webservice.soap_implement” />  这个是webservice实现类的路径,增加后还是没效果,调用service时候,仍然是null。通过springmvc的controller调用同一个service 就可以。哎。。

webservice 通过@Autowired 调用业务层
5分
你前面怎么调用的?
webservice 通过@Autowired 调用业务层
引用 3 楼 Gu31415 的回复:

你前面怎么调用的?

我在springmvc的controller层 

@Controller
public class AdminController {

	private static Logger logger = Logger.getLogger(AdminController.class);
	private  ProductService ps;
   
	 public ProductService getPs() {
		return ps;
	}
	 @Autowired
	public void setPs(ProductService ps) {
		this.ps = ps;
	}

	@RequestMapping("/findbyid")
	@ResponseBody
	public  List<Product> findbyid(String id) throws Exception{
		 List<Product> list = null;
		 try{
			 logger.info("--------1------------<><><><>-----------------------");
			 list=ps.findbyid(id);
			 logger.info("--------2------------<><><><>-----------------------");
		 }catch(Exception e){
			 logger.error(e);
		 }finally{
			 return list; 
		 }
	}
}

在controller层和webservice调用的都是同一个service

webservice 通过@Autowired 调用业务层
引用 5 楼 wodehongseupan 的回复:

大神们有知道的吗?年前这个问题必须得解决啊,解救一下小弟吧 !

应该增加的是Service的路径。

webservice 通过@Autowired 调用业务层
可以了 在web.xml和spring里面增加了一下配置,感谢大家了!

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明webservice 通过@Autowired 调用业务层
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!