Spring普通类如何引用service或mapper层接口

SpringBoot中Server层以及Mapper层常用注解 这一点请大家要留意一下。5.3.2 @Select注解动态SQL拼写(重点)普通的字符串值,只能实现变量的替换功能,实现简单的SQL语句,如下所示, 阅读详情

在传统MVC或者springboot框架中,经常要使用@Autowired注解注入Service或者Mapper接口,在controller层中注入service接口,在service层中注入其它的service接口或者mapper接口都是可以的,但是如果要在自己封装的Utils工具类中或者非controller普通类中使用@Autowired注解注入Service或者Mapper接口,直接注入是不可能的,因为Utils使用了静态的方法,我们是无法直接使用非静态接口的,当遇到这样的问题,就要想办法解决了。
有两种方法解决这个问题,第一种是注解方式,第二种是xml配置方式,下面是在utils中使用@Autowired注解的方法:
第一种主要分为三步:
1, 类方法名标注:@Component
2,使用@Autowired注入service或者mapper层
2, public static 类名 简写;如下的 public static TestUtils testUtils;
3,@PostConstruct注解,参照如下的init()方法
4,直接引用service层或者mapper:类名.service类名.方法名

@Component 
public class TestUtils {
    @Autowired
    private ItemService itemService;
    
    @Autowired
    private ItemMapper itemMapper;
    
    public static TestUtils testUtils;
    
    @PostConstruct
    public void init() {    
        testUtils = this;
    } 
    
    //utils工具类中使用service和mapper接口的方法例子,用"testUtils.xxx.方法" 就可以了      
    public static void test(Item record){
        testUtils.itemMapper.insert(record);
        testUtils.itemService.queryAll();
    }
}

第二种方法就是xml配置的方式,把init()方法上的@PostConstruct注解去掉,在spring-comtext.xml中配置以下bean

<bean id="testUtils" class="这里写utils类的包全路径名" init-method="init"></bean>

非原创:原文链接http://www.tpyyes.com/a/javaweb/30.html根据自己的理解,加了一些总结

海康视觉算法平台VisionMaster 4.3.0 C# 二次开发01 加载方案并获取结果 第一次使用海康视觉算法平台VisionMaster 4.3.0,项目中要使用这个平台进行视觉处理并获取结果。 阅读详情

相关推荐

GEM5教程--gem5开始之旅(一)

GEM5系列教程--gem5开始之旅一、建立GEM5 GEM5模拟器是一个用于计算机系统结构研究的模块化平台,包含系统级别的结构以及处理器的微体系结构。读者若想详细的了解,请查看其官方文档GEM5文档 读者如果想要入门GEM5的话,可以参考Learning_GEM5这个网站,这里面有较为详细的教程,可以带读者从入门到精通。小编我对GEM5的入门学习也是从这个Learning_GEM5这个网站学习的...

qq_43381135的博客 3万+

springboot 项目中普通类中调用mapper接口

mapper 注入普通类为null

fanger0705的博客 1231

SAP 物料账前期没有运行的解决方法

If you use the actual costing (material ledger), you must have completely closed all period-end closing operations in the actual costing for the penultimate period prior to the period shift. Use the '...

含笑饮砒霜死后更嚣张 3316

springBoot项目在普通类里调用mapper层方法(典中典)

springBoot项目在普通类里调用mapper层方法,很简单

a16696747377的博客 3793

泛微E9表单建模查询列表勾选后带入流程明细表中

注意:参照下图各项配置,否则会有问题。

泛微二次开发后端知识总结 5309

Windows 游戏 EXCEPTION_ACCESS_VIOLATION 修复:3类硬件问题与5步软件排查法

本文提供Windows游戏EXCEPTION_ACCESS_VIOLATION错误的终极修复指南,涵盖3类硬件问题(内存故障、显卡问题、超频不稳定)和5步软件排查法(文件验证、驱动更新、DEP调整等),帮助玩家彻底解决0xFFFFFFFFFFFFFFFF内存访问冲突问题。

weixin_31856057的博客 2415

java普通类调用mapper或者service方法

第一种 @Component public class Test { @Resource SecurityUserMapper securityUserMapper; public static Test test; @PostConstruct public void init(){ test=this; test.securityUserMapper=securityUserMapper; } public sta

点点滴滴 2451

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

springboot 项目普通类中调用mapper或service接口

1、该类使用@Component注解2、添加一个本类类型的静态字段3、创建一个初始化方法,贴上@PostConstruct 标签,用于注入bean4、创建方法调用mapper或service接口5、最后直接在普通类中调用即可例如:    ...

lvdaan的博客 2万+

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版))

为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。

从地图看世界的专栏 4298

coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 2668

普通类调用service层或者mapper层接口

常见的是Controller层调用service层,调用mapper层。但是因为一些业务需求,可能需要在普通类中直接调用service层或者mapper层接口,这时候如果使用普通类直接调用service层或者mapper层都会报null,就算在对应的service或者mapper层添加注解@Component加入Spring容器管理也不行,原因在于调用的service或mapper层是非静态的,就算你设置为静态的也是错误的。 下面方法经过测试,是可以使用的 @Component public clas.

smiling 5399

2篇5章1节:实验流行病学的核心特征和设计原则

本文系统阐释实验流行病学的核心定义、四大核心特征、四大基本原则及主流设计类型,结合骨科、肿瘤科、儿科、精神科、内外妇儿及公共卫生等多学科临床实践案例,具象化解读人为干预、随机分组、平行对照、前瞻性设计的核心内涵与应用价值。同时,规范梳理对照、随机、盲法、重复四大研究基本原则,详细介绍临床试验、现场试验、社区试验三类主流研究设计的适配场景与应用差异。

MD Code 167

controller层,service层,mapper层,entity层的作用与联系。

对应的,外界需要完成什么样的业务,就通过Controller去调用不同的Service,需要记住的是Controller只是一个中间者或者转发者,不应该在Controller里暴露Service的业务逻辑,而应该直接转发Service的业务处理结果!Service层是业务逻辑层,在该层进行复杂的业务逻辑处理,对在多个mapper层查到的数据进行组装、处理,然后将结果返回给Controller,因此,一般情况下,一个Controller中可能包括多个Service,......

qq_45139808的博客 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring Boot项目中的Controller、Service、Mapper和Entity层的作用与联系

在Spring Boot项目中,常见的四个层次是Controller层、Service层、Mapper层和Entity层。它们各自承担着不同的职责,但彼此之间存在着紧密的联系。本文将详细介绍这四个层次的作用与联系,并提供相关实例来说明它们之间的关系。

算命de博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Dao层,Mapper层,controller层,service层,model层都有什么作用

SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道...

呼卓宇的博客 3万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

springboot 项目普通类中调用mapper或service接口(utils包下的类封装方法时调用mapper或service接口)

1、整体步骤如下: 1、该类使用@Component注解 2、添加一个你需要用到的类的静态字段 3、创建一个初始化方法,贴上@PostConstruct 标签,用于注入bean 4、创建方法调用mapper或service接口 5、最后直接在普通类中调用即可 2、普通类中调用mapper接口中的新增员工方法的示例代码如下: package com.rf.utils; import co...

小志的博客 4385

Java Spring注解——Controller层、Service层、mapper层

常用Java注解

chenjianghhua的博客 2302

java 框架 Dao层 Mapper层 controller层 service层 model层 entity层 简介

目录 简介 entity层 mapper层 service层 controller层 简介 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道

whatday的专栏 6061

Springboot 把service接口或者mapper接口 注入到普通类中

在springboot框架中,如果我们如果直接向controller或者serviceImpl层注入接口是可以直接注入的,但是如果向普通类直接注入接口是注入不进去的。 我们通过@PostConstruct这个注解来解决 被这个注解 标记的方法 启动时间是在SpringBeans初始化时执行,SpringApplication.run()之前执行 @PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@Pos..

长腿小码农的博客 4984

Controller 层、Service 层和 Mapper 层之间的调用关系和逻辑

好的,我来详细讲解一下层、层和层之间的调用关系和逻辑。和。每一层负责不同的任务,它们之间通过接口进行解耦,层与层之间的调用关系帮助实现了高内聚、低耦合的设计。主要负责接收前端请求,并进行相应的业务处理。它位于应用的最外层,接收来自用户的 HTTP 请求,决定调用哪个服务层的业务方法。Controller 层并不直接进行数据库操作,而是把请求委托给来处理。

SAFE20242034的博客 3459

SSM框架中 entity层,mapper层,service层,controller层等作用

这几天在学习 SSM 框架,对于几个文件夹中应该存放什么类,这些类有什么功能,还是有些迷糊。 通过网上资料现在大致已经了解了。记下来以后有了新的理解再加上去。 一、SSM SSM 是 Spring + SpringMVC + Mybatis集成的框架。 Spring   Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。   Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`n.

lxt_Lucia的博客 1万+

Spring框架中entity层、dao层、service层、mapper层、controller层详解

SpringBoot框架中的DAO(mapper)层、Entity层、Service层、Controller层

weixin_46737745的博客 3382

快速掌握SpringBoot项目中的domain、mapper、service、controller层作用与书写格式

最快速度上手springboot项目中四层代码的书写

S0ybean的博客 1万+

SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。

会写Bug的攻城狮 1万+
上一篇: netty服务端主动回消息给客户端
下一篇: windows下安装redis,实现远程访问
只会debug
博客等级 码龄9年 69粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值