java 什么是注入

阅读: 评论:0

java 什么是注入

java 什么是注入

@Autowired到底是在什么时候注入的?

这是我在shiro配置的时候发现的问题。

在我的项目中我有个shiro配置类

shiroRealm是以内部类得方式写在配置类里面的,然后这个realm里面依赖注入了一个service。

然后我在这个配置类下面,将这个shirorelam以@Bean的方式加入到容器中。

然后我在运行的时候打了个断点,发现此时realm中的service是空,说明加入到容器中的realm的成员变量realm是空,service没有注入进去。

但是我项目跑起来后,认证的时候发现service又有了,这是怎么回事,@Autowired到底是在什么时候注入的?求大神解答。

回答

容器启动后spring加载类的时候注入的

构造函数调用 先于 字段注入,所以你断点打在构造函数中间的时候自然是还没有注入的

@Autowired 注解的注入是通过类 AutowiredAnnotationBeanPostProcessor 实现的,是在 bean 实例化后处理的动作,你打断点的那个地方 shiroRealm 还是你自己构造出来的,还没有交给 spring 容器管理

看不看随你咯,我帮你找到了,反正我是没看完0-0

本文发布于:2024-02-02 01:32:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681304940544.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23