@MapKey is required 提示异常
在报错的方法上添加@SuppressWarnings("MybatisXMapperMethodInspection")
可关闭报错。
@Autowired 出现:Could not autowire. No beans of ‘XXX’ type found.
出现:Could not autowire. No beans of ‘XXX’ type found.
无法自动连线。找不到“XXX”类型的bean。
如果实在在控制层调用 @Autowired(required = false)
忽略错误
@Autowired
:表示自动注入,自动从spring的上下文找到合适的bean来注入
@Resource
:表示按指定名称注入,@Resource
可以通过 byName 和 byType的方式注入, 默认先按 byName的方式进行匹配,如果匹配不到,再按 byType的方式进行匹配。 当然,还可以为 @Service和@Resource 添加 name 这个属性来区分不同的实现。
@Component
:表示一种泛指,被标记类即组件,Spring扫描注解配置时,会标记这些类要生成对应的bean。
@Qualifier
和@Autowired
配合使用,当一个接口有多个实现的时候,@Qualifier
的value定了具体调用哪个类的实现(需要在实现类中通过@Service
来表示每个不同的bean),也就是说指定了注入bean的名称。
@Autowired
和@Resource
是用来修饰字段,构造函数,或者方法,其作用是注入bean。
而@Service
,@Controller
,@Repository
,@Component
则是用来修饰类,标记这些类要生成bean。
Controller、Service、Repository分别作用类是控制层类、业务层类、数据访问层类,Spring扫描注解配置时,会标记这些类要生成对应的bean。
@Autowired(required = false) Field injection is not recommended
Field injection is not recommended 不建议现场注入
这个又是一个新的描述?TODO
参考
[Java Spring FAQs] Field injection is not recommended and Injection guidelines in Java Spring
Field injection is not recommended – Spring IOC
Could not autowire.No beans of ‘XXXX‘type found的解决方法(详细解析其用法注解)