当前位置: 首页 > news >正文

浅谈Spring Boot

一、基本介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。它主要用于配置Spring应用,它消除了大量的样板代码,并提供了一些非功能性的工具,如内嵌服务器、安全管理、健康检查等。

二、主要优点

1、快速开发:提供快速集成的方式,可以在几分钟内创建一个独立的Spring应用。

2、无需部署WAR文件:可以打包为JAR文件,通过Java -jar运行。

3、内嵌服务器:内嵌Tomcat、Jetty或Undertow,无需部署WAR文件。

4、自动配置:基于Spring应用的依赖,自动配置Spring Beans。

5、起步依赖:提供了一系列的起步依赖,简化了版本依赖管理。

6、命令行工具:Spring Boot CLI提供命令行工具。

三、创建应用

1、创建项目:可以使用Spring Initializr(https://start.spring.io/)来快速生成项目结构。

2、添加依赖:根据项目需求添加相应的Spring Boot起步依赖(Starters)。

3、编写主应用程序类:使用@SpringBootApplication注解来标记主类,它包含了@Configuration,         @EnableAutoConfiguration, 和 @ComponentScan

4、编写业务逻辑:创建服务类、控制器类等,根据需要使用Spring的各种功能。

5、配置属性:使用application.propertiesapplication.yml文件来配置应用的属性。

6、运行应用:使用Spring Boot的内嵌Tomcat服务器来运行应用。

四、简单示例

下面是一个简单的Spring Boot应用示例:

1. Maven依赖 (pom.xml):

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

2. 主应用程序类 (Application.java):

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

3. REST控制器 (HelloController.java):

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!";}
}

4. 配置文件 (application.properties):

# 可以在这里配置数据库连接、服务器端口等属性
server.port=8080

5. 运行应用: 在IDE中,可以直接运行Application类的main方法来启动应用。应用启动后,可以通过浏览器访问http://localhost:8080/hello来看到返回的"Hello, Spring Boot!"消息。


http://www.mrgr.cn/news/5513.html

相关文章:

  • Python 如何使用 functools 模块
  • Go RPC 和 gRPC 技术详解
  • 学习Math.random()的应用
  • 前端html+js实现懒加载的两种常见方法
  • 一文弄懂 LLM 结构化数据生成原理
  • 基于Python自动连接汕头大学校园网
  • Axios介绍;前后端分离开发的介绍;YAPI的使用;Vue项目简介、入门;Elementui的使用;nginx介绍
  • 支付宝开放平台-开发者社区——AI 日报「8 月23 日」
  • BaseCTF WEEK1 re复现-入土为安的第24天
  • halcon1
  • [Linux#40][线程] 线程控制 | 多线程
  • 设计模式六大原则:迪米特法则详细说明和案例示范
  • windows docker 执行apt-get 权限问题
  • 大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例
  • Vue3 provide(父) + inject(子、子的子...)进行值的传递及显示
  • iOS 开发:Object-C 和 Swift 的区别 (AI问答)
  • 三种方法加密图纸!2024如何对CAD图纸进行加密?分享给你
  • 回归预测|基于NGO-TCN-BiGRU-Attention的数据预测Matlab程序 多特征输入单输出 含基础模型
  • 知识竞赛答题设备及答题方式有哪些
  • 学习记录第二十八天