1 spring Bean 的默认名称生成策略导致的空指针
定义一个Bean(使用 @Component @Service 等注解标记) spring 生成的Bean名称是把第一个字母变成小写,其他不变
Apple -> apple User -> user
但是事实果真如此么?
beanName 生成源码如下
也就是如果开头两个字母全是大写的时候 beanName 就是类名不在作转换
2 使用了 @Autowired 注解,但是依然出现了空指针
3多线程下spring Bean的数据不符合预期怎么办
!!!下面说明的也就是每次都是new一个新的Bean!!!
4 你是不是经常报存在多个可用的 Bean 异常?
5 spring Bean 出现了循环依赖该怎么办呢?
A创建过程中的时候呢 需要B的时候呢,由于目前还没有B,于是A先将自己放在三级缓存中,然后先去实例化B, 实例化B的时候,由于需要A,则先去检查1级缓存没有,再去二级缓存没有,再去三级缓存找到了。然后呢把三级缓存里面的A放到二级缓存里面,并删掉三级缓存里面的A。 此时呢B顺利的完成初始化,把他自己呢放到一级缓存里面。此时B里面的A呢依然是一个创建中的状态, A只是实例化完成,没有填充属性,接着呢重新再去创建A,此时B已经创建结束了,A从一级缓存里面拿到B 完成自己的创建,并把A自己也放到一级缓存里面。如此一来成功创建了A与B 顺利完成Bean的初始化
222222222222222222222222222222222222222222222222222222222222
6 使用了Transational注解,但是事务并没有生效
7 Bean实例化之前我们能做什么
本地代码案例 DecoderManager 类
8 DI IOC