有没有倒霉的小朋友和我一起学SpringMVC然后根据教程,在学SpringMVC错误处理的时候,明明代码跟教程一样,可是这句@Qualifier(“studentValidator”)死活是红色,报错不生效,找不到bean
解决方法是在StudentValidator那个类上加注解@Component(“studentValidator”)
如下所示
至于为什么会这样
我觉得主要是我几个注解的意思没弄明白
@Autowired:
大概是如果一个Boss 类包含了 Car类和Officel类,正常来讲,bean文件里需要写
<bean id=”boss” class=”com.baobaotao.Boss”>
<property name=”car” ref=”car”/>
<property name=”office” ref=”office” />
</bean>
但是如果car类和Office类加了@Autowired注解
那么
public class Boss {
@Autowired
private Car car;
@Autowired
private Office office;
…
}
<bean id=”boss” class=”com.baobaotao.Boss”/>
@Qualifier
@Auttowired是根据类型注入的 by-type,如果很多type相同的话,需要指明具体的类型
比如说这句,你如果不加@Qualifier,你知道你的Validator是普通的Validator还是实现了接口的StudentValidator
所以要加
@Component
把普通的pojo对象实例化Spring容器中
大致相当于在配置文件里不用写
<bean id = class = >
所以如果没有这个注解。。。。spring可能找不到这个类,我这次错误的原因就是根本找不到StudentValidator这个bean嘛
@ModelAtrribute
没看懂其他csdn讲的,如果有哪位大佬有看懂了的,可以在评论分享下链接给我
我唯一知道的就是这个注释将数据添加到模型对象中,在jsp页面可以负责展示