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

相关推荐
Lxinccode5 分钟前
python(59) : 多线程调用大模型ocr提取图片文本
开发语言·python·图片提取文字·批量提取文件·多线程ocr
自由日记13 分钟前
python简单线性回归
开发语言·python·线性回归
程序员-周李斌14 分钟前
Java NIO [非阻塞 + 多路复用解]
java·开发语言·开源软件·nio
猪八戒1.015 分钟前
onenet接口
开发语言·前端·javascript·嵌入式硬件
程序猿小蒜17 分钟前
基于Spring Boot的宠物领养系统的设计与实现
java·前端·spring boot·后端·spring·宠物
合作小小程序员小小店18 分钟前
web网页开发,在线%食堂管理%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·mysql·html·intellij-idea·jquery
h***839323 分钟前
JavaScript开源
开发语言·javascript·ecmascript
皮皮林55125 分钟前
SpringBoot + Spring AI 玩转智能应用开发
spring boot
奋斗的小高29 分钟前
Docker 安装与使用
java
w***48136 分钟前
Springboot项目本地连接并操作MySQL数据库
数据库·spring boot·mysql