Spring Boot 教程

Spring Boot 怎样运行?

文章节将简单介绍 Spring Boot 项目是怎样运行起来的,要运行一个 Spring Boot 项目我们需要的最小配置。还是以前面的“Spring Boot Hello”项目为例。

我们先看看 Spring Boot Hello 项目中,核心类 SpringbootHelloApplication 的代码:

package com.huangx.springboot;

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

/**
 * 该类是我们整个 Spring Boot 项目的入口类,这个类有一个 @SpringBootApplication 注解,
 * 该注解是整个 Spring Boot 的核心注解,它的目的就是开启 Spring Boot 的自动配置。
 * 我在这个类上再添加一个 @RestController 注解,使之变为一个Controller,
 * 然后里边提供一个地址转换方法。
 *
 * @author Administrator
 */
@RestController
@SpringBootApplication
public class SpringbootHelloApplication {

    public static void main(String[] args) {
        // 启动Spring Boot
        SpringApplication.run(SpringbootHelloApplication.class, args);
    }

    @RequestMapping(value = "/", produces = "text/plain;charset=UTF-8")
    public String index() {
        // 返回字符串到前端
        return "Hello Spring Boot!";
    }

}

SpringbootHelloApplication 类在 Spring Boot 应用程序里有两个作用:

(1)启动引导:在 main() 方法中,使用 SpringApplication.run(SpringbootHelloApplication.class, args) 代码去启动引导 Spring Boot。

(2)自动配置:SpringbootHelloApplication 类是主要的 Spring Boot 配置类。虽然 Spring Boot 的自动配置免除了很多 Spring 配置,但你还需要进行少量配置来启用自动配置。其中,@SpringBootApplication 注解开启了 Spring 的组件扫描和 Spring Boot 的自动配置功能。实际上,@SpringBootApplication 注解将三个有用的注解组合在了一起。它们分别如下:

  • @Configuration:标明该类使用 Spring 基于 Java 的配置。Spring Boot 更倾向于使用基于 Java 而不是 XML 的配置。

  • @ComponentScan:启用组件扫描,这样你编写的 Web 控制器类和其他组件才能被自动发现并注册为 Spring 应用程序上下文里的 Bean。该项目使用 @RestController 注解标明该类为 Spring MVC 控制器,这样组件扫描才能找到它。

  • @EnableAutoConfiguration : 就是这一行配置开启了 Spring Boot 自动配置,让你不用再写成篇的配置了。

注意:在 Spring Boot 的早期版本中,你需要在 SpringbootHelloApplication 类上同时标上上面的三个注解,但从 Spring Boot 1.2.0 开始,有 @SpringBootApplication 就行了。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号