Spring main方法中如何调用Dao层和Service层的方法
作者:青梅竹马丨两小无猜 发布时间:2023-11-28 23:15:19
标签:Spring,main方法,Dao层,Service层
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.将所需调用的服务类设置成静态属性,并通过方法直接将服务层设置成工具类自己的属性即可。
来源:https://blog.csdn.net/qq_41289165/article/details/106206123


猜你喜欢
- 目前很多Android app都内置了可以显示web页面的界面,会发现这个界面一般都是由一个叫做WebView的组件渲染出来的,学习该组件可
- 这一篇,给大家介绍一下ImageView控件的使用,ImageView主要是用来显示图片,可以对图片进行放大、缩小、旋转的功能。androi
- 本文实例为大家分享了java实现马踏棋盘的具体代码,供大家参考,具体内容如下马踏棋盘算法介绍8X8棋盘,马走日字,要求每个方格只进入一次,走
- 之前有个兄弟给我的卷一re了帖子,我当时没有g,m,直到他把它删掉才后悔莫及,人生最痛苦的事情莫过于此。。。。。。好,即便如此,我们还是满怀
- 本文实例为大家分享了Unity shader实现高斯模糊效果的具体代码,供大家参考,具体内容如下正常图:高斯模糊效果图:shader代码:S
- 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写(Overriding)是父类与子类之间多
- 在一些购物商城中经常会遇到这类效果,效果图如下:先看效果图步骤一:完成对主界面main.xml的创建:<?xml version=&q
- 大家在网上购物时都有这样一个体验,在确认订单选择收货人以及地址时,会跳转页面到我们存入网站内的所有收货信息(包含收货地址,收货人)的界面供我
- 前言记录下Mybatis-Plus中条件构造器Wrapper 的一些基本用法。查询示例表结构CREATE TABLE `product` (
- SpringMvc代码jar包commons-fileuploadcommons-iospring-mvc.xml配置<bean id
- 本文实例为大家分享了OpenGL绘制三次Bezier曲线的具体代码,供大家参考,具体内容如下计算公式:运行结果:代码如下:#include&
- 近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路。最终,我选定了轻量级
- 本文实例讲述了Android实现为Notification加上一个进度条的方法。分享给大家供大家参考,具体如下:package com.no
- 一、简介编写手机App时,有时需要使用文字转语音(Text to Speech)的功能,比如开车时阅读收到的短信、导航语音提示、界面中比较重
- 想做一个上传图片的功能,来展示用户上传的图片。在返回给前端的URL上弄了好久,前端一直无法访问到URL,结果一直显示404。 倒腾了一上午发
- 今天跟大家分享一个利用外部Jar包来实现Java操作CSV文件一.资源下载1.直接下载Jar包:javacsv-2.0.jar2.利用Mav
- SpringAop @Aspect织入不生效,不执行前置增强织入@Before想写一个AOP,主要有2个用意第一个用意是做后端的防表单重复提
- 谈到 Java 的线程池最熟悉的莫过于 ExecutorService 接口了,jdk1.5 新增的 java.util.concurren
- 首先来说一下本文中例子所要实现的功能:基于ProtoBuf序列化对象使用Socket实现时时通信数据包的编码和解码下面来看具体的步骤:一、U
- 1.更新同步方式:/** * 三个参数 * the path of the node