SpringBoot核心@SpringBootApplication使用介绍

Spring Boot 是一个快速开发的框架,它简化了 Spring 应用程序的搭建和开发。其中,@SpringBootApplication 是 Spring Boot 的核心注解,本文将详细讲解其使用方法。

@SpringBootApplication 注解

@SpringBootApplication 注解是一个组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 注解。

@Configuration: 作用于类上,表明该类是一个 Java 配置类。

@EnableAutoConfiguration: 自动配置启用注解,根据 classpath 中的 jar 包,类文件及前台控制器注解来自动配置 Spring 框架内的功能。

@ComponentScan: 自动扫描当前类及其子包下被 @Component、@Controller、@Service、@Repository 等注解标记的类并纳入到 Spring 容器管理中。

使用方法

  1. 创建一个 Spring Boot 项目,选择 Spring Initializr,添加一个 Web 依赖(Spring Boot Web Start)。

  2. 在主类上添加 @SpringBootApplication 注解。

@SpringBootApplication
public class DemoApplication {

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

}

其中,DemoApplication 是主类的名称。

  1. 运行主类的 main 方法,即可启动应用,Spring Boot 会自动扫描主类所在的包及其子包下的所有类进行组件扫描和自动配置。
$ mvn spring-boot:run
  1. 注入 bean

在 Spring Boot 项目中,可以使用 @Autowired 注解自动注入 bean。例如,我们创建一个 UserService 类:

@Service
public class UserService {

    public void sayHello() {
        System.out.println("Hello, UserService!");
    }

}

@Service 注解表明该类是一个 Spring 组件,可以通过 AutoScan 扫描自动注入。在需要使用该类的地方,使用 @Autowired 注解将其注入:

@RestController
public class HomeController {

    @Autowired
    UserService userService;

    @GetMapping("/hello")
    public String hello() {
        userService.sayHello();
        return "Hello, World!";
    }

}

其中,@RestController 注解表明该类是一个控制器,@GetMapping 注解表示该方法处理 HTTP GET 请求。在 hello 方法中,我们注入了 UserService 类,并调用了 sayHello 方法。

示例

我们可以通过一个简单的示例来演示 @SpringBootApplication 注解的使用。在该示例中,我们创建了一个名为 demo 的Web应用程序,使用@Controller注解定义了一个控制器,在其中定义了一个欢迎页面/welcome.jsp,处理器映射了"/hello"路径,处理标准的HTTP GET请求。

  1. 创建新的Spring Boot工程,Web依赖选择Spring Boot Web Starter。

  2. 添加HomeController。

@Controller
public class HomeController {

    @RequestMapping("/hello")
    public String hello() {
        return "welcome";
    }

}
  1. 编写/welcome.jsp视图。
<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
<h1>Welcome to Spring Boot</h1>
</body>
</html>
  1. 添加@SpringBootApplication注解到主类。
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  1. 运行应用程序,浏览器访问 http://localhost:8080/hello 可以看到欢迎页面。

以上就是使用 @SpringBootApplication 注解的简单示例。需要注意的是,在实际应用中,我们需要根据不同的需求选择不同的注解,灵活应用 Spring Boot 的各种功能,才能更好地完成业务需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot核心@SpringBootApplication使用介绍 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Java集合类知识点总结

    Java集合类知识点总结 什么是Java集合类 Java集合类是一组实现了集合数据结构的类和接口。Java集合类主要有三类:List、Set、Map。其中List有序可重复、Set无序不可重复、Map无序的键值对。 Java集合类可以方便地进行添加、删除、遍历和查找等操作,并且根据不同的需求选择不同的集合类可以大大提高程序的运行效率。 常用的Java集合类 …

    Java 2023年5月20日
    00
  • 在idea中创建SpringBoot项目

    下面我会给出详细的教程步骤。 一、安装Java和IntelliJ IDEA 在创建SpringBoot项目之前,您需要先安装Java和IntelliJ IDEA开发工具。 如果您还没有Java环境,请先从官方网站中下载并安装JAVA环境。请注意,SpringBoot 2.x版本至少需要Java 8。 然后,在官方网站上下载适合您操作系统的IntelliJ I…

    Java 2023年5月15日
    00
  • 使用JSP读取客户端信息

    使用JSP读取客户端信息需要用到内置对象request,通过request对象的方法获取到客户端的相关信息。 以下是具体的步骤: 在JSP页面中,使用内置对象request获取客户端信息前,需要获取参数request对象。获取的方式是: <% request = request.getRequest(); %> 获取客户端IP地址 <% S…

    Java 2023年6月15日
    00
  • 详解Java冒泡排序

    详解Java冒泡排序 什么是冒泡排序 冒泡排序(Bubble Sort),是一种简单的排序算法。它重复地走过要排序的元素列表,比较相邻两个元素的大小,如果顺序错误则交换这两个元素。重复地进行比较和交换操作,直到整个列表排序完成。 在这个过程中,会先比较第1个和第2个元素的大小,如果第1个大于第2个,则交换它们的位置;接着比较第2个和第3个元素的大小,如果第2…

    Java 2023年5月19日
    00
  • Java代码实践12306售票算法(二)

    “Java代码实践12306售票算法(二)”是一篇关于Java编程的算法实践教程。下面,让我来详细讲解这篇文章的完整攻略吧。攻略分为以下几个部分: 1. 理解12306售票算法 这一节主要是讲解12306售票算法的基本原理,以及常见的问题。首先,我们需要理解Java多线程编程的基础知识,并且掌握类的使用,以及多线程的启动和结束。其次,需要了解12306售票系…

    Java 2023年5月19日
    00
  • 详解SpringMVC重定向传参数的实现

    接下来我将为你讲解“详解SpringMVC重定向传参数的实现”的完整攻略。 标题 介绍 在SpringMVC中,有时候需要在重定向跳转的时候把一些参数传递过去,以便在下一个请求中使用。本文将详细讲解如何在SpringMVC中实现重定向传参数。 实现步骤 第一步:使用RedirectAttributes添加Flash属性 SpringMVC提供了Redirec…

    Java 2023年6月15日
    00
  • Mybatis实现自动生成增删改查代码

    下面我给你详细讲解一下Mybatis实现自动生成增删改查代码的完整攻略。 概述 Mybatis是一款基于Java的持久层框架,它提供了自动生成增删改查代码的功能,让开发人员可以快速生成常用的CRUD操作。可以大大提高代码的开发效率,减少了数据库访问层的开发工作量。 步骤 实现Mybatis自动生成增删改查代码的过程如下: 配置Mybatis Generato…

    Java 2023年5月19日
    00
  • 老生常谈java中的数组初始化

    下面是关于Java中数组初始化的完整攻略: 数组的定义与声明 在Java中,数组需要先定义后使用。数组的定义语法如下: type[] arrayName; 其中,type 表示数组中元素的数据类型,大括号 [] 表示数组类型,arrayName 是数组的变量名。例如,定义一个整型数组变量的代码如下: int[] nums; 定义好数组变量之后,需要声明数组的…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部