因为写程序的时候有地方报错,我找了好久才发现原来是有个注解没加、于是我学习了几种注解。
@Controller:@Controller对应表现层的Bean,也就是Action,使用@Controller注解标识类TestAction之后,就表示要把UserAction交给Spring容器管理,在Spring容器中会存在一个名字为"testAction"的action,这个名字是根据TestAction类名来取的。注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="TestAction")】或者【@Controller("TestAction")】,则使用value作为bean的名字。
@Scope:@Scope("type")表示将Action的范围声明为原型,可以利用容器的scope="type"来保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。spring默认scope是单例模式(scope="singleton"),这样只会创建一个Action对象,每次访问都是同一Action对象,数据不安全,struts2是要求每次次访问都对应不同的Action,scope="type"可以保证当有请求的时候都创建一个Action对象:
@Resource:默认安装名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
@Component:当某个类算比较中立的类的时候,就用这个注解为它进行标注。
@Deprecated:@Deprecated的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息