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 2023年5月26日
    00
  • Java 实战项目锤炼之嘟嘟健身房管理系统的实现流程

    Java 实战项目锤炼之嘟嘟健身房管理系统的实现流程 一、需求分析 系统包含三个角色:管理员、健身房教练、健身房会员。 系统功能: 管理员:添加教练、添加会员、管理教练、管理会员、查看销售业绩。 教练:发布健身计划、管理个人信息。 会员:查看健身计划、预约课程、管理个人信息。 系统特色功能:会员课程提醒、打卡记录、数据分析。 二、技术选型 开发语言:Java…

    Java 2023年5月24日
    00
  • Spring JPA之save方法示例详解

    让我来为你详细讲解“Spring JPA之save方法示例详解”。 什么是Spring JPA Spring JPA是Spring框架中的一个模块,它提供了基于注解和接口的方式来简化数据库访问操作,让开发者可以更便捷地进行持久化操作。 save方法简介 save方法是Spring JPA中提供的一个方法,用于将一个实体对象保存到数据库中。它有两个重载方法,分…

    Java 2023年5月20日
    00
  • Java压缩文件夹最实用简单的方法

    下面我将为您讲解Java压缩文件夹最实用简单的方法的完整攻略。 什么是Java压缩文件夹? Java中的压缩文件夹指的是将多个文件和文件夹压缩成一个文件,以减小文件的大小,并且方便传输和存储。Java中提供了许多压缩文件夹的处理工具类,其中最常用的是java.util.zip.ZipOutputStream类和java.util.zip.ZipInputSt…

    Java 2023年5月20日
    00
  • 详细聊一聊java中封装的那点事

    接下来我将为大家讲解“详细聊一聊 Java 中封装的那点事”的攻略。 什么是封装? 封装是面向对象编程中的三大特性之一,它是指隐藏对象的属性和实现细节,仅对外部暴露一些必要的接口来与外部交互,这样可以更好地保护对象的数据,避免不必要的访问和修改。 在 Java 中,通常使用访问修饰符来实现封装,包括:public(公有的)、private(私有的)和 pro…

    Java 2023年5月26日
    00
  • JSP入门教程(4)

    当然,我很高兴为您提供有关“JSP入门教程(4)”完整攻略的详细解释。 简介 在JSP入门教程的第四部分中,我们将学习如何使用JSP中的if-else语句和switch语句,这些语句用于控制流程和决策。 if-else语句 if-else语句是一种流程控制语句,可用于根据条件执行不同的代码块。在JSP页面中,可以使用以下语法来编写if-else语句: &lt…

    Java 2023年6月15日
    00
  • 详解Java使用JMH进行基准性能测试

    详解Java使用JMH进行基准性能测试 性能测试对于Java应用程序的开发和优化是至关重要的。在Java中,可以使用JMH框架进行严密的基准测试,以确保在实际生产环境中获得最高的性能和最小的延迟。 介绍JMH框架 JMH是一个专业级的基准测试框架,它可以提供准确的基准测试结果。它提供了多种的方式来测试不同的Java代码片段,包括方法调用、对象实例化、算法等。…

    Java 2023年5月26日
    00
  • JSP多种web应用服务器导致JSP源码泄漏漏洞

    JSP多种web应用服务器导致JSP源码泄漏漏洞,是一种常见的web应用安全问题。攻击者可以通过获取JSP源代码,了解网站的系统架构、数据库配置、代码逻辑等敏感信息,企图发起更加准确有效的攻击。 攻击者可以通过以下几个步骤来利用“JSP多种web应用服务器导致JSP源码泄漏漏洞”完成渗透攻击: 发现漏洞:攻击者通过各种方式对目标网站进行框架探测,如果目标网站…

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