Spring main方法中如何调用Dao层和Service层的方法

网友投稿 633 2022-09-11


Spring main方法中如何调用Dao层和Service层的方法

目录Spring main方法调用Dao层和Service层的方法如何在普通类中直接访问service层或dao层第一种方案第二种方案

Spring main方法调用Dao层和Service层的方法

在web环境中,一般serviceImpl中的dao之类的数据库连接都由容器启动的时候创建好了,不会报错。

但是在main中,没有这个环境,所以需要获取环境:

ApplicationContext ctx = new FileSystemXmlApplicationContext("src/applicationContext.xml");

PianoServiceImpl pianoService = (PianoServiceImpl) ctx.getBean("pianoServiceImpl");

//然后再调用方法

return pianoService.getPriceByBrand(brand);

如何在普通类中直接访问service层或dao层

最近遇到一个问题,如何在工具类中去访问dao层与service层的方法,因为可能本人底子比较薄弱,一开始未想到错误点在哪,后来debug才发现我的service或 dao 都是空的。

因为平时在调用service层时都是在controller中,有配置扫描注入,spring会根据配置自动注入所QnVAqhWHVj依赖的服务层。

但因我们写的工具类不属于controller层,所以当所写接口需要调用服务层是,常常会为NULL。

下面 我直接来分享自己的解决方案:

第一种方案

写个方法 implements ApplicationContextAware 接口

然后在你的工具类中

ApplicationContext appCtx = SpringContextUtil.getApplicationContext();

StatusMapper statusMapper = (StatusMapper)appCtx.getBean(StatusMapper.class);

这样直接调用就好

第二种方案

网上看到的,未验证过

1.将此工具类加上@Component注解

2.将所需调用的服QnVAqhWHVj务类设置成静态属性,并通过方法直接将服务层设置成工具类自己的属性即可。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:计算机网络参考模型与TCP/IP协议模型+PDU数据封装、解封(在tcp IP参考模型中tcp协议工作在)
下一篇:PC网络配置切换脚本(IP地址切换脚本)(ip地址切换工具pc)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~