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日

相关文章

  • JScrollPane

    JScrollPane 组件() 功能介绍:        当容器的显示区域不足以同时显示所有组件的时候,滚动面版JScrollPane(后省略为JS)可以通过滚动的方式将组件的内容展示出来。 使用方法:   JS通过将一些组件先添加到JPanel中,再将JPanel添加到JS上,而JTextArea、JList、JTable等组件都没有自带滚动条,都需要将…

    Java 2023年5月11日
    00
  • mybatis查询语句揭秘之封装数据

    接下来我会为你详细讲解“mybatis查询语句揭秘之封装数据”的完整攻略。 什么是MyBatis MyBatis是一种Java持久化框架,可以将SQL查询、存储过程以及高级映射捆绑成Java对象。MyBatis提供了一种将Java对象与SQL语句进行分离的方式,避免了SQL语句的硬编码,提高了代码的可维护性和可读性。 MyBatis中的数据封装 MyBati…

    Java 2023年5月20日
    00
  • 深入浅出JAVA MyBatis-快速入门

    接下来我将详细讲解“深入浅出JAVA MyBatis-快速入门”的完整攻略。 一、MyBatis简介 MyBatis是一个开源的持久层框架,它对JDBC进行了轻量级封装,使得开发者只需要关注SQL本身,而不需要过多考虑JDBC相关的代码。MyBatis使用XML或注解来配置和映射原始数据类型、Map和POJO到数据库记录。 二、MyBatis入门 1. 安装…

    Java 2023年5月19日
    00
  • 吊打Java面试官之Lambda表达式 Stream API

    吊打Java面试官之Lambda表达式 Stream API 在Java 8中,Lambda表达式和Stream API是两个非常强大和重要的功能,能够帮助开发人员编写更简洁、更灵活的代码。下面我们将详细讲解Lambda表达式和Stream API的使用方法。 Lambda表达式 Lambda表达式是一种匿名函数,可以将其视为一种简洁而强大的快捷方式,可以在…

    Java 2023年5月26日
    00
  • java实现希尔排序算法

    下面我就详细讲解一下“Java实现希尔排序算法”的攻略。 什么是希尔排序 希尔排序是插入排序的一种高效实现,也称为缩小增量排序。其基本思路是将待排序的元素分为若干组,对每组元素使用插入排序算法进行排序。然后逐渐减少元素分组的间隔,重复上述过程,直到元素之间间隔为1,获得最终的排序结果。 实现希尔排序的Java代码 下面是一个基于Java的希尔排序算法实现: …

    Java 2023年5月26日
    00
  • maven报错:Failed to execute goal on project问题及解决

    针对”Maven报错:Failed to execute goal on project”问题,可能导致报错的原因有很多种,但通常表现为类似于以下的错误提示: Failed to execute goal on project xxx: Could not resolve dependencies for project xxx: Failure to fi…

    Java 2023年5月19日
    00
  • Spring MVC中@Controller和@RequestMapping注解使用

    在Spring MVC中,@Controller和@RequestMapping是两个重要的注解,它们用于定义控制器和请求映射。本文将详细介绍@Controller和@RequestMapping注解的使用方法,并提供两个示例来说明这些方法的使用。 @Controller注解 @Controller注解用于定义控制器类。在Spring MVC中,控制器类负责…

    Java 2023年5月17日
    00
  • SpringBoot2.x入门教程之引入jdbc模块与JdbcTemplate简单使用方法

    下面我将详细讲解SpringBoot2.x入门教程之引入jdbc模块与JdbcTemplate简单使用方法的完整攻略。 引入jdbc模块 在Spring Boot的Maven配置文件中添加jdbc模块的依赖即可: <dependency> <groupId>org.springframework.boot</groupId&gt…

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