今天疯狂给测试写bug的时候,发现我同一个controller中不同的方法调用同一个service竟然有的方法会为null。当时就很奇怪了,不过仔细看了下,应该是我手滑public写成private了

那这是什么原因呢,在controller中private和public是有什么区别呢?细心的我又发现了,这两个方法还有个区别是一个是AOP的切点private的则不是。
这就引出另一个问题了,AOP为什么切不到private方法。在springboot2.x之后AOP的动态代理默认都是cglib代理,众所周知cglib是通过动态生成代理类的子类实现代理功能,所以private方法和final方法就无法被代理了。
再回到刚刚那个service为null的问题,正因为该private方法无法被代理,但是属性注入都是在代理类中完成,所以service没有被注入就为null了。

同一个controller中同一个service不同的方法调用怎么有的会为null相关推荐

  1. IDEA中报错:java: -source 1.5 中不支持静态接口方法调用

    用到java的一些新特性的时候,必须是在新的java版本中才能体现出来,否则会报错. 例如使用java8的Stream流或者lambadas特性,就会报如下错误: **Error:(11, 35) j ...

  2. 关于android开发中startActivityForResult废弃的替换方法调用

    关于android开发中startActivityForResult废弃的替换方法调用 在最近一段时间中,能在开发时看到在android studio中,startActivityForResult方 ...

  3. Java中String对象的replaceAll方法调用性能优化小技巧

    Java中String对象的replaceAll方法调用性能优化小技巧 0x01 Java中String对象的replaceAll方法调用性能优化小技巧 1.1 What? 1.2 Why? 1.3 ...

  4. java同一个包中,类之间的的调用

    如果是静态方法,直接 类名.方法名即可,如果是非静态方法,则需new一个对象出来,然后用对象.方法名调用 如: public class A{ public static void T(){ Syst ...

  5. java super.start,java – 在字节码中确定哪里是super()方法调用所有构造函数必须在JVM上执行...

    实际上,字节码构造函数的规则比Java的规则要宽松得多. 唯一的规则是必须在任何正常返回的路径上调用一个构造函数,如果构造函数调用抛出异常,那么您也必须抛出异常. 除此之外,这意味着构造函数可能包含对 ...

  6. java中使用rmi进行远程方法调用

    java中进行远程方法调用,能支持分布式计算.并且可以实现在server的修改,能反应到各个client. 假如server的ip是:192.168.11.2, server端的代码如下: /*** ...

  7. java中构造代码块、方法调用顺序问题

    1. 继承的概念 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...

  8. python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法

    import numpy as np# 归一化 class StandardScaler:def __init__(self):'''初始化'''self.mean_ = Noneself.scale ...

  9. eclipse中查怎样看某个方法调用了谁

    今天写文档的时候,用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)之间的层次结构与调用关系. 我写了一个总函数,需要知道这个函数都调用了其他的什么函数 选中方法名,点鼠标右键,菜单里有个 ...

最新文章

  1. 独家 | 手把手教你怎样用Python生成漂亮且精辟的图像(附教程代码)
  2. JDK1.8源码阅读系列之二:LinkedList
  3. IE中页面不居中,火狐谷歌等正常
  4. java改写weka中的算法_用Eclipse在Weka中嵌入新算法
  5. aws lambda使用_使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存
  6. mysql 空闲几分钟速度变慢,MYSQL 运作一小段时间后,速度变得奇慢。而CPU基本空闲状态...
  7. 排序算法java 简书_手撕算法---常见排序算法java实现
  8. TLE5012B磁编码器原理及优点,径向充磁磁铁的安装。AS5047、AS5048、AS5600、TLE5012、MA730
  9. 美通企业日报 | 爱彼迎成为奥林匹克全球合作伙伴;腾讯理财通运营主体迁至腾富公司...
  10. 关于Kotlin循环遍历需要注意索引越界的问题
  11. 某知名系统漏洞挖掘与利用思路探索
  12. 机器学习算法一之基于K均值聚类算法实现数据聚类及二维图像像素分割
  13. ERP应用优势和劣势有哪些
  14. Unity Line接入
  15. 什么是windows用户账户
  16. 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
  17. 两种 HTTP 请求方法
  18. 【STC8学习笔记】STC8A8K64S4A12 程序烧录及使一个LED闪烁
  19. 企业管理概论试题库【1】
  20. 获取手机设备的IMSI / IMEI 信息

热门文章

  1. 2017年香港家庭用品展览会会刊(参展商名录)
  2. 计算机学院华北科技学院考研,2019年华北科技学院硕士研究生招生拟录取名单公示...
  3. java.lang.IllegalArgumentException: not found @HttpResponse from class java.lang.Object解决方法
  4. App启动图片变形,拉伸
  5. [网络篇]ESP8266-SDK教程(三)之TCP通信Server-Client
  6. 硫化铅量子点,PbS QDs,近红外PbS量子点的特性(波尔半径大,量子效应显著)
  7. unity3d MVC设计模式
  8. 回收站清空了还能找回来吗?回收站恢复的4个方法(最全)
  9. Android系统固件定制方式
  10. ORACLE数据依赖及范式