Spring MVC之注解

本章记载学习SpringMVC时遇到的注解,以及使用方式,不定时更新


  • @Controller
    • 该注解用于在类的声明上方,表明这是SpringMVC里的Controller,将其声明为一个Spring的Bean,可以被Dispatcher Servlet自动扫描,并将Web请求映射到被@RequestMapping注解的方法上(关于@RequestMapping一会再讲)
    • @Service、@Component、@Repository、@Controller都是将类作为一个Bean,具体看语义,功能都不同。
@Target({ElementType.TYPE}) // 该注解能在什么地方进行声明
@Retention(RetentionPolicy.RUNTIME) // 该注解的生存期间
@Documented // 该注释将出现在JavaDoc中
@Component // 该注解为组件,可以被Spring中的类发现器扫描
public @interface Controller {
    String value() default "";
}
  • @RequestMapping
    • 这个注解可以声明在类上,函数上。
    • 声明在类上,代表该Controller的WebPath,其内的函数都是在这个WebPath的下一级
    • 声明在函数上,代码该方法的WebPath
    • 该注解还有好多可以设置的值
      • value WebPath,访问路径
      • produces 常用来设置返回类型和字符编码
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
    String name() default "";

    String[] value() default {};

    RequestMethod[] method() default {};

    String[] params() default {};

    String[] headers() default {};

    String[] consumes() default {};

    String[] produces() default {};
}
  • @ResponseBody
    • 这个注解可以声明在类上,方法上
    • 声明在类上,则代表其内的函数都是返回内容,而不是返回页面路径
    • 声明在函数上,则代表该函数返回内容,而不是返回页面路径
    • 值得庆幸的是,该注解是空主控,没有可以设置的值。
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResponseBody {
}

猜你喜欢

转载自blog.csdn.net/linglian0522/article/details/80302542