手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

spring注解之RestController

时间:2024-10-13 00:45:46

1、编写测试Controller,使用RestController注解,编写一个方法,返回一个字符串。

spring注解之RestController

2、请求此Action,直接在页面上显示字符串,查看response数据,就是返回的字符串。

spring注解之RestController

3、点开RestController注解的代码定义,发现其有5个注解修饰符。 (1)Target(ElementType.TYPE): 漉胜衲仰表示此注解可以修饰 类、接口、注解、枚举类型 (2)Retention(RetentionPolicy.RUNTIME):表示此注解被编译器编译后存储到Class文件中,并且jvm会通过java反射机制获取此注解的信息。 (3)Documented:表示在使用javadoc命令生成javaAPI时,此注解会显示出来。 (4)还有两个注解:一个是Controller、一个是ResponseBody源码的解释:一个方便的注释,本身是被Controller和ResponseBody注释的。意思就是两者的结合。

spring注解之RestController
spring注解之RestController

4、且看ResponseBody的源码定义中的解释: 首先这个注解可以用于修饰注解,所以它可以修饰RestController。 其次看一下英文注释:这个注解指明一个方法的返回值应该绑定到response body中。 在4.0版本中,这个注解可以添加到类型级别的元素上,它向下遗传,所以就不用添加到方法级别的元素上。 看到这里:大概也就明白了为什么不跳转,因为使用了这个注解,spring会把返回的信息放到response的body中,不会再去走视图解析器了(具体源码没看到)。

spring注解之RestController

5、再来看Controller:这个注解应该比较熟悉,如果使用了此注解,则表示类是一个Controller,会被java容器管理,其类中的每个方法都可以声明为一个Action。 Controller注解的定义中,有一个注解Component,这个注解等会再看其源码及注释。 Controller注解的注释:指明一个类是一个“Controller”。这个注解是对Component注解的专门化, 允许实现类通过类路径扫描被自动检测。它一般会和注解RequestMapping一起使用。

spring注解之RestController

6、Component注解:指明一个类是一个“component"。当使用基于注解的配置和类路径扫描时,这个些类会被埠们萁猕自动检测。这里只说了spring会自动扫描使用Component注解修饰的类。并且标记为“component”。这里的加引号的component,就是spring容器中组件的意思(bean:最早的配置方式是在xml中<bean id="A" class="A">),这个组件被容器管理,并且可以使用bean注入到其他类中。

spring注解之RestController
© 手抄报圈