Spring中的 stereotype 注解到底是什么?--简单注解分析

关于代码配置的过程就不再提了。很简单。详细可以参考Spring官网的文档,非常的详细。

从代码开始

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class MyApplication {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}


观察这段代码可发现,它包含有三个注解,一个 home 方法以及 main 方法。

我们从注解开始。

“刻板印象”

首先引入一个名称为:stereotype annotation ,如果去直译的话,便是刻板印象注解…

注解二字倒是很好理解,但是 stereotype 在这里真的是刻板印象的意思么?

spring 官网的 doc 中给出了解释,stereotype annotation 是用来表示这个方法/这个类的主要用途,为 spring 以及代码阅读者理解代码。这样是不是立刻理解了这里 stereotype 的意思?我们来根据上述的代码来进行更深刻的理解。

@RestController

代码中出现的第一个注解便是 RestController ,它是一个很典型的 stereotype annotation 。

它的意思非常直白,告诉 spring 和阅读代码的人,接下来这个类就是 RESTful 控制器类。

@RequstMapping

与 RestController 同为 stereotype annotation,它出现的时候,将告诉 spring 以及阅读代码的人,在它下方的 home() 方法是用来处理 / 的 HTTP 请求的。即带有 / 路径的 HTTP 请求都将映射至 home() 方法。

@EnableAutoConfiguration

这个注解出现在代码的第七行。整体代码中的第二个注解。它主要是让 SpringBoot 根据开发者之前添加的依赖项来猜测开发者到底要怎样配置 Spring ,举个例子便是:如果你使用了 maven 去进行依赖项的添加,而其中包含有 spring-boot-starter-web ,又因该 web 依赖项中含有 tomcat 和 Spring MVC ,因此它将认为你将要开发一个 web应用,因此会自动为你配置好 Spring 。

main方法

我们应用程序的最后部分是main方法。main方法是 java 程序的入口。

在 main 方法中我们使用了 SpringApplication 类来引导我们程序。调用 run 方法,启动 Spring ,而上述我们刚提到我们会通过注解去对 Spring 进行配置,因此这个过程中 Spring 会启动 Tomcat 服务器。与此同时我们需要将 MyApplication.class 传递给 run 方法,用来告诉 Spring Application 那个是最主要的 Spring 组件。

这里涉及到的知识点是: SpringApplication.run 到底做了什么?

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值