java实现在普通类中注入service或mapper

 更新时间:2021年07月21日 09:51:53   作者:一个包子的成长  
这篇文章主要介绍了java实现在普通类中注入service或mapper的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

普通类中注入service或mapper

1、类加@Component注解

2、注入需要引入的service

  @Autowired
  private UserService userService;

3、建静态文件

   private static UserService users;

4、初始化方法

  @PostConstruct
  public void init() {
      users= userService;
  }

5、调用

 users.selectUser(user);

mapper为null的情况

今天开发接口的时候,因为一时马虎,导致被一个小bug拖拉了很久,在这里记录一下

今天服务器挂了,数据库链接不了。只能靠着理论写接口,之后发现方法调用后查询为空,并且抛出了异常。在Debug环境下,打了断点后发现step只走到了Xxxmapper.xx();就停止了。查看mapper对象发现为空。

——开始调查:

@SpringBootApplication
@EnableSwagger2
@EnableSwaggerBootstrapUI
@EnableFeignClients(basePackages = {"XXXX.XXXX.api"})
@ComponentScan(value = {"XXXXX.XXXX.api.config", "com.XXXX.gateway.XXX", "com.XXXXX.XXXX.auth"})
@MapperScan("com.XXXX.XXXX.XXX.mapper")
@EnableScheduling
public class IotGateWayParkServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(IotGateWayParkServiceApplication.class);
    }
}

MapperScan可以导致这个问题。但是我有,所以排除。

——二查

public class impl{
 @Autowired
 private XxxMapper mapper;
}

@Autowired 也有,有时候idea还会因为这个报红,这个可以通过加上@Resource来解决这个强迫症,但是@Autowired里面本身包含@Resource,加不加都无所谓。给强迫症用的。但是这里我没犯错误,所以排除。

@Mapper
@Respository
public interfaceXxxMapper{
 
}

@Mapper 和 @Respository 我都有。所以排除。

——马虎是啥:

    @Autowired
    private IotGatewayParkInfoService service;

一般在controller层都是这么使用的。但是 我偏偏手贱用了new IotGatewayParkInfoService();所以下场你们也知道了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java详细分析String类与StringBuffer和StringBuilder的使用方法

    Java详细分析String类与StringBuffer和StringBuilder的使用方法

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder类,和String类不同的是,StringBuffer和 StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象
    2022-04-04
  • IDEA中的yml文件与properties互相转换

    IDEA中的yml文件与properties互相转换

    这篇文章主要介绍了IDEA中的yml文件与properties互相转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Mybatis查询数据的项目实现

    Mybatis查询数据的项目实现

    MyBatis通过XML配置文件或注解,把Java对象映射到对应的数据库表中,实现对象关系和数据关系的互相转换,从而使得Java应用程序能够更简单的操作和读取数据库,本文就详细的介绍一下如何实现,感兴趣的可以了解一下
    2023-09-09
  • Spring存储与读取Bean对象方法

    Spring存储与读取Bean对象方法

    在Spring中,要想更简单的存储和读取对象的核心是使用注解,这篇文章主要给大家介绍了关于Spring如何通过注解存储和读取对象的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • MyBatis Plus整合Redis实现分布式二级缓存的问题

    MyBatis Plus整合Redis实现分布式二级缓存的问题

    Mybatis内置的二级缓存在分布式环境下存在分布式问题,无法使用,但是我们可以整合Redis来实现分布式的二级缓存,这篇文章给大家介绍MyBatis Plus整合Redis实现分布式二级缓存,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • SpringSecurity怎样使用注解控制权限

    SpringSecurity怎样使用注解控制权限

    这篇文章主要介绍了SpringSecurity怎样使用注解控制权限的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 微服务分布式架构实现日志链路跟踪的方法

    微服务分布式架构实现日志链路跟踪的方法

    在现有的系统中,由于大量的其他用户/其他线程的日志也一起输出穿行其中导致很难筛选出指定请求的全部相关日志。那我们如何来处理呢?带着这个问题一起通过本文学习下吧
    2021-08-08
  • JAVA设计模式之备忘录模式原理与用法详解

    JAVA设计模式之备忘录模式原理与用法详解

    这篇文章主要介绍了JAVA设计模式之备忘录模式,简单说明了备忘录模式的概念、原理并结合实例形式分析了java备忘录模式的具体定义及使用方法,需要的朋友可以参考下
    2017-08-08
  • @Valid 无法校验List<E>的问题

    @Valid 无法校验List<E>的问题

    这篇文章主要介绍了@Valid 无法校验List<E>的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 解决CollectionUtils.isNotEmpty()不存在的问题

    解决CollectionUtils.isNotEmpty()不存在的问题

    这篇文章主要介绍了解决CollectionUtils.isNotEmpty()不存在的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论