同一个controller中同一个service不同的方法调用怎么有的会为null
今天疯狂给测试写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相关推荐
- IDEA中报错:java: -source 1.5 中不支持静态接口方法调用
用到java的一些新特性的时候,必须是在新的java版本中才能体现出来,否则会报错. 例如使用java8的Stream流或者lambadas特性,就会报如下错误: **Error:(11, 35) j ...
- 关于android开发中startActivityForResult废弃的替换方法调用
关于android开发中startActivityForResult废弃的替换方法调用 在最近一段时间中,能在开发时看到在android studio中,startActivityForResult方 ...
- Java中String对象的replaceAll方法调用性能优化小技巧
Java中String对象的replaceAll方法调用性能优化小技巧 0x01 Java中String对象的replaceAll方法调用性能优化小技巧 1.1 What? 1.2 Why? 1.3 ...
- java同一个包中,类之间的的调用
如果是静态方法,直接 类名.方法名即可,如果是非静态方法,则需new一个对象出来,然后用对象.方法名调用 如: public class A{ public static void T(){ Syst ...
- java super.start,java – 在字节码中确定哪里是super()方法调用所有构造函数必须在JVM上执行...
实际上,字节码构造函数的规则比Java的规则要宽松得多. 唯一的规则是必须在任何正常返回的路径上调用一个构造函数,如果构造函数调用抛出异常,那么您也必须抛出异常. 除此之外,这意味着构造函数可能包含对 ...
- java中使用rmi进行远程方法调用
java中进行远程方法调用,能支持分布式计算.并且可以实现在server的修改,能反应到各个client. 假如server的ip是:192.168.11.2, server端的代码如下: /*** ...
- java中构造代码块、方法调用顺序问题
1. 继承的概念 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...
- python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法
import numpy as np# 归一化 class StandardScaler:def __init__(self):'''初始化'''self.mean_ = Noneself.scale ...
- eclipse中查怎样看某个方法调用了谁
今天写文档的时候,用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)之间的层次结构与调用关系. 我写了一个总函数,需要知道这个函数都调用了其他的什么函数 选中方法名,点鼠标右键,菜单里有个 ...
最新文章
- 独家 | 手把手教你怎样用Python生成漂亮且精辟的图像(附教程代码)
- JDK1.8源码阅读系列之二:LinkedList
- IE中页面不居中,火狐谷歌等正常
- java改写weka中的算法_用Eclipse在Weka中嵌入新算法
- aws lambda使用_使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存
- mysql 空闲几分钟速度变慢,MYSQL 运作一小段时间后,速度变得奇慢。而CPU基本空闲状态...
- 排序算法java 简书_手撕算法---常见排序算法java实现
- TLE5012B磁编码器原理及优点,径向充磁磁铁的安装。AS5047、AS5048、AS5600、TLE5012、MA730
- 美通企业日报 | 爱彼迎成为奥林匹克全球合作伙伴;腾讯理财通运营主体迁至腾富公司...
- 关于Kotlin循环遍历需要注意索引越界的问题
- 某知名系统漏洞挖掘与利用思路探索
- 机器学习算法一之基于K均值聚类算法实现数据聚类及二维图像像素分割
- ERP应用优势和劣势有哪些
- Unity Line接入
- 什么是windows用户账户
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注
- 两种 HTTP 请求方法
- 【STC8学习笔记】STC8A8K64S4A12 程序烧录及使一个LED闪烁
- 企业管理概论试题库【1】
- 获取手机设备的IMSI / IMEI 信息
热门文章
- 2017年香港家庭用品展览会会刊(参展商名录)
- 计算机学院华北科技学院考研,2019年华北科技学院硕士研究生招生拟录取名单公示...
- java.lang.IllegalArgumentException: not found @HttpResponse from class java.lang.Object解决方法
- App启动图片变形,拉伸
- [网络篇]ESP8266-SDK教程(三)之TCP通信Server-Client
- 硫化铅量子点,PbS QDs,近红外PbS量子点的特性(波尔半径大,量子效应显著)
- unity3d MVC设计模式
- 回收站清空了还能找回来吗?回收站恢复的4个方法(最全)
- Android系统固件定制方式
- ORACLE数据依赖及范式