Spring main方法中如何调用Dao层和Service层的方法
时间:2022-04-09 14:53:26|栏目:JAVA代码|点击: 次
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会根据配置自动注入所依赖的服务层。
但因我们写的工具类不属于controller层,所以当所写接口需要调用服务层是,常常会为NULL。
下面 我直接来分享自己的解决方案:
第一种方案
写个方法 implements ApplicationContextAware 接口

然后在你的工具类中
ApplicationContext appCtx = SpringContextUtil.getApplicationContext(); StatusMapper statusMapper = (StatusMapper)appCtx.getBean(StatusMapper.class);
这样直接调用就好
第二种方案
网上看到的,未验证过
1.将此工具类加上@Component注解
2.将所需调用的服务类设置成静态属性,并通过方法直接将服务层设置成工具类自己的属性即可。

栏 目:JAVA代码
下一篇:Java 详解分析链表的中间节点
本文标题:Spring main方法中如何调用Dao层和Service层的方法
本文地址:http://www.codeinn.net/misctech/198636.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




