浅谈Java Spring Boot

一、基本介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

二、关键特性

  1. 自动配置 :Spring Boot根据项目中添加的依赖自动配置Spring应用程序。例如,如果项目中添加了spring-boot-starter-web依赖,Spring Boot会自动配置Tomcat和Spring MVC。

  2. 独立运行 :Spring Boot应用程序包含内嵌的HTTP服务器(如Tomcat、Jetty或Undertow),可以打包成一个独立的JAR文件,这样就可以通过简单的java -jar命令来运行。

  3. 无需XML配置:Spring Boot不需要使用XML配置文件,尽管它仍然支持XML配置,但推荐使用基于Java的配置。

  4. 微服务支持:Spring Boot非常适合微服务架构,可以与Spring Cloud等其他项目结合,以支持服务发现、配置管理等微服务特性。

  5. 社区和插件生态:Spring Boot拥有一个活跃的社区,提供了大量的插件和"Starters",这些Starters是预先定义好的依赖集合,可以快速添加到项目中。

  6. 监控和管理:Spring Boot提供了多种监控和管理功能,包括健康检查、度量信息收集等。

  7. 配置外部化 :Spring Boot支持从外部配置文件(如application.propertiesapplication.yml)中读取配置,使得配置与代码分离,便于不同环境下的配置管理。

  8. 安全性:Spring Boot与Spring Security集成,提供了一套安全自动配置,可以快速增加安全性支持。

  9. 测试支持:Spring Boot提供了对JUnit等测试框架的支持,使得编写和执行单元测试和集成测试变得更加容易。

三、基本结构

  • src/main/java:存放主要的Java代码。
  • src/main/resources:存放配置文件和静态资源。
    • application.propertiesapplication.yml:Spring Boot的配置文件。
  • src/test/java:存放测试代码。

四、简单应用

创建一个简单的Spring Boot应用程序:

创建主应用程序类

java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

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

添加依赖 :在pom.xml(Maven项目)或build.gradle(Gradle项目)中添加所需的依赖。

创建REST控制器

java 复制代码
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyController {

    @GetMapping("/")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

运行应用程序:使用Maven或Gradle的相应命令来运行应用程序,或者直接使用Spring Boot的打包和运行功能。

五、完整代码应用

下面是一个简单的Spring Boot应用程序的代码示例,它展示了如何创建一个基本的REST API服务。

步骤 1: 创建主应用程序类

首先,创建一个带有@SpringBootApplication注解的主类,这个注解是@Configuration, @EnableAutoConfiguration, 和 @ComponentScan的快捷方式。

java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

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

步骤 2: 创建REST控制器

然后,创建一个控制器类,使用@RestController注解来标记它是一个控制器,并使用@GetMapping注解来处理HTTP GET请求。

java 复制代码
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyController {

    // 处理根URL的GET请求
    @GetMapping("/")
    public String index() {
        return "Hello, Spring Boot!";
    }

    // 处理/api/users的GET请求
    @GetMapping("/api/users")
    public String listUsers() {
        return "List of users";
    }
}

步骤 3: 配置application.properties或application.yml

src/main/resources目录下创建application.properties文件,用于配置应用程序的属性,比如服务器端口。

properties:

java 复制代码
# application.properties
server.port=8080

或者使用application.yml

java 复制代码
# application.yml
server:
  port: 8080

步骤 4: 运行应用程序

使用你的IDE运行MyApplication类的main方法,或者如果你使用Maven或Gradle,可以通过以下命令来运行:

  • Maven: mvn spring-boot:run
  • Gradle: gradle bootRun

步骤 5: 访问应用程序

一旦应用程序运行起来,你可以使用浏览器或工具如curl或Postman来访问:

  • 访问根URL: http://localhost:8080/
  • 访问API端点: http://localhost:8080/api/users

附加:使用Spring Boot Actuator

Spring Boot Actuator提供了对应用程序的监控和管理功能。要添加Actuator,首先在pom.xmlbuild.gradle中添加Actuator依赖:

  • Maven:
XML 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • Gradle:

gradle

java 复制代码
implementation 'org.springframework.boot:spring-boot-starter-actuator'

然后在application.propertiesapplication.yml中配置Actuator的端点:

properties

java 复制代码
# application.properties
management.endpoints.web.exposure.include=health,info

或者:

yaml

XML 复制代码
# application.yml
management:
  endpoints:
    web:
      exposure:
        include: health,info

现在,你可以访问Actuator的端点来获取应用程序的健康和信息状态:

  • 健康状态: http://localhost:8080/actuator/health
  • 应用程序信息: http://localhost:8080/actuator/info

这个示例展示了Spring Boot应用程序的基础结构和功能,包括创建REST控制器、配置应用程序属性和使用Spring Boot Actuator进行监控。

相关推荐
The Future is mine27 分钟前
Python计算经纬度两点之间距离
开发语言·python
Enti7c28 分钟前
HTML5和CSS3的一些特性
开发语言·css3
腥臭腐朽的日子熠熠生辉34 分钟前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
爱吃巧克力的程序媛35 分钟前
在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
开发语言·qt
ejinxian36 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之41 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码1 小时前
Spring Task 定时任务
java·前端·spring
俏布斯1 小时前
算法日常记录
java·算法·leetcode
独好紫罗兰1 小时前
洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构
开发语言·python·算法
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿