好像一般书上都是这么用的@Autowiredprivate UserRepository userRepository;我写的时候运行是没问题的,但是IntelliJ会标红,说找不到bean什么的看Spring.io的源码的时候发现人家是这么写的private UserRepository userRepository; @Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; }写在构造方法上的,新手表示不解,应该怎么写,求指教
5 回答
三国纷争
TA贡献1804条经验 获得超7个赞
富国沪深
TA贡献1790条经验 获得超9个赞
Spring bean通过@Autowired注入,spring auto scan配置,在编辑情况下,无法找不到对应的bean,于是提示找不到对应bean的错误。
但build项目是能正常运行的。
可在File -- Settings -- Inspections。在Spring Model -- Autowring for Bean Class 中,
将Severity的级别由之前的error改成warning或者直接取消提醒。
BIG阳
TA贡献1859条经验 获得超6个赞
Spring注入的方式有多种,可以写在field上,可以写在setter方法上,可以写在constructor上。
你使用的方式是写在了field上,你看到的是写在了constructor上
一只斗牛犬
TA贡献1784条经验 获得超2个赞
你的写法是没错的,找不到bean的话,可能是配置的问题,在applicationContext.xml里需要有下面的配置语句:
<context:component-scan base-package="需要自动扫描的包" />
添加回答
举报
0/150
提交
取消