使用注解代替框架的配置文件是一种趋势,使用注解的好处是:
注解是Java的语法结构,可以设置断点来快速定位进行调试;而xml配置文件不能打断点,维护不方便。
常用的注解
@Action 用于配置方法的路径,功能等同于标签
@Namespace 用于指定命名空间,功能等同
@ParentPackage 用于指定父包,功能等同
@Results 用于声明一组同一个类共有的@Result
@Result 用于声明返回的字符串对应的视图
@ResultPath 用于指定视图的根目录。
@InterceptorRef 用于配置使用的拦截器
@InterceptorRefs 用于配置使用多个拦截器
demo:
//使用注解之前要导入一个支持注解的插件包:
//struts2-convention-plugin-2.3.32.jar
@ParentPackage(value="struts-default")
@Namespace(value="/user")
public class UserAction{
/**
注意:1、Action类 struts2默认是以Action结尾的,格式为XXXAction
2、Action类默认所在包的包名为action,actions,struts,struts2
*/
@Action(value="user_login" results={@result(name="success" location="/index.jsp")})
public void login() {
System.out.println("使用注解代替配置文件");
}
}
注解所放的位置可以查看jdkAPI帮助文档:java.lang.annotation –>> 枚举
ElementType 类查看 ,其中 @Target注解指明注解所放的位置,
也可以直接点击注解查看源码来查看:
FIELD:表示该注解可以放在属性上面。
METHOD:表示注解可以放在方法上面
TYPE:表示注解可以放在类,接口,枚举的上面
PARAMETER:表示可以放在方法的参数前面
CONSTRUCTOR:表示可以放在构造方法上面
ANNOTATION_TYPE:表示可以放在注解的声明上面