1
Lonely 2019-05-22 21:35:54 +08:00 via iPhone
你这 handler 有注册为 bean 吗?
|
2
feiyuanqiu 2019-05-22 21:37:05 +08:00 via Android
|
3
reeco 2019-05-22 21:39:35 +08:00
只有被 Spring 管理起来的 bean 才能使用注入,你这个类压根没被 Spring 管理,@Autowired 默认 required 是 true,注入是 null 直接启动失败了
|
4
szq8014 2019-05-22 21:40:40 +08:00 via Android
怀疑你不了解 Spring,handler 都没让 Spring 来管理怎么能注入成功?要么把 handler 交给 Spring 来管理,要么拿到 ApplicationContext 然后 getBean(HealthDataService.class) 这样拿到 HealthDataService 实例使用
|
5
jamesxu 2019-05-22 21:43:08 +08:00 via iPhone
这不算坑
|
6
npe 2019-05-22 21:44:47 +08:00 via Android
Spring 容器里都没这个类,你能注入个啥?
|
7
aragakiyuii 2019-05-22 21:56:52 +08:00 via Android
|
8
telami 2019-05-22 22:04:25 +08:00 1
emmmm..
|
10
NewDraw 2019-05-22 22:48:22 +08:00 via Android 2
哥们你太有意思了😄😄😄😄
|
11
Umenezumi 2019-05-22 22:49:41 +08:00
PlayerInfoHandler handler 你这个类没有被 spring 管理啊。。自动注入 required 默认是 true 自然报错
|
12
trycatch 2019-05-22 22:50:36 +08:00
最好用构造函数注入
|
13
serical 2019-05-22 22:55:36 +08:00 via Android
静态的通过 set 方法注入
|
14
qwerthhusn 2019-05-22 23:08:05 +08:00
|
15
gramyang OP @qwerthhusn 基本上,netty 的业务 handler 是不会用到 @Sharable 的,所以我已经加上了
|
16
gramyang OP @qwerthhusn 不对,我上一句话说的有语病。
handler 我不想加上 @Sharable,因为不是线程安全的。但是我这个是一个用 netty 写的持久化服务器,所以是线程安全的,可以加上 @Sharable。 |
17
wc951 2019-05-23 06:33:00 +08:00 via Android
用构造器注入就不会出现你这种疑惑,因为直接启动就失败了,这也是 spring 官方推荐构造器注入的原因
|
18
brust 2019-05-23 08:16:50 +08:00
用 spring4.0 出现过这种情况,但是 springboot 我还没遇到过,可以说下你的 spring 版本吗
|
19
tedzhou1221 2019-05-23 08:17:08 +08:00 via Android 1
题外话:建议你用 idea,或者学习怎么用。
当前类如果被 spring 管理的话,左边是有绿色的叶子,. @Autowired 如果生效的话左边也有绿色的豆子(Bean) 所以大部分情况下,有没有注入成功,一眼就看出来 |
21
szq8014 2019-05-23 08:31:26 +08:00
@gramyang 从你目前的情况来看个人觉得用 ApplicationContext.getBean(clazz) 更方便一些,至于 ApplicationContext 怎么拿,最简单的方法就是 springboot 的 main 方法里面唯一的那行调用其实是有返回值的,而且返回值就是那个 ApplicationContext
|
22
BBCCBB 2019-05-23 08:54:05 +08:00
这个的确是你用法不对...
|
23
ala2008 2019-05-23 08:58:19 +08:00
ioc 了解一下
|
24
linyinma 2019-05-23 09:17:31 +08:00
小哥拉屎拉不出来乖茅坑没设计好~~
|
25
Yuicon 2019-05-23 09:26:22 +08:00
学习理论的重要性
|
27
rffan 2019-05-23 09:55:47 +08:00
你这个是基本不了解 Spring 啊不是坑啊。
|
28
hailiang88 2019-05-23 09:58:02 +08:00
先尝试下手撸个 ioc 吧
|
29
Ahaochan 2019-05-23 10:40:12 +08:00
在非 Spring 管理的类下, 使用 SpringContextHolder 解决. 注意初始化顺序.
https://github.com/Ahaochan/project/blob/master/ahao-utils/src/main/java/com/ahao/util/spring/SpringContextHolder.java |
31
zcating 2019-05-23 10:54:00 +08:00
|
32
gabon 2019-05-23 12:06:40 +08:00 via Android
菜
|
33
kangzai50136 2019-05-23 13:05:50 +08:00 via Android
多了解 Spring 吧。
|
34
brust 2019-05-23 13:42:56 +08:00
@tedzhou1221 我 idea 怎么没绿色豆子,可以截图标志 发链接看看嘛,或者邮箱 YnJ1c3RAYnJ1c3QuY24=
|
35
arthas2234 2019-05-23 14:03:46 +08:00
|