浅谈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进行监控。

相关推荐
喵叔哟15 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生21 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
hopetomorrow35 分钟前
学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
开发语言·学习·php
郑祎亦44 分钟前
Spring Boot 项目 myblog 整理
spring boot·后端·java-ee·maven·mybatis
不是二师兄的八戒44 分钟前
本地 PHP 和 Java 开发环境 Docker 化与配置开机自启
java·docker·php
小牛itbull1 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
请叫我欧皇i1 小时前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
闲暇部落1 小时前
‌Kotlin中的?.和!!主要区别
android·开发语言·kotlin
爱编程的小生1 小时前
Easyexcel(2-文件读取)
java·excel
GIS瞧葩菜1 小时前
局部修改3dtiles子模型的位置。
开发语言·javascript·ecmascript