SpringBoot创建和使用

1.Spring Boot的优点

  • 快速集成框架,Spring Boot提供了启动添加依赖的功能,用于秒级成各种框架。
  • 内置运行容器,无需配备Tomcat等Web容器,直接运行和部署程序。
  • 快速部署项目,无需外部容器即可启动并运行项目。
  • 可以完全抛弃繁琐的XML,使用注解和配置的方法进行开发。
  • 支持更多的监控的指标,可以更好的了解项目的运行情况。

2.Spring Boot项目的创建

2.1使用IDEA创建

我们使用的是Idea社区版(其他版本也同样适用),我们先安装Spring Boot Helper插件才能创建Spring Boot项目,如下所示

安装好后,这个插件会变成另一个名字,我们无需担心。

接下来我们创建Spring Boot项目:

【注意事项】第一次打开Spring Boot项目可能需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。

为了加速我们要配置国内源,我们可以参考以前的文章:Spring的创建和使用_C语言的好男友的博客-CSDN博客

3.项目目录介绍和运行

Spring Boot项目有两个主要的目录:

  • src/main/java 为Java的源代码
  • src/main/resources 为静态资源或配置文件:
    • /static:静态资源文件夹
    • /templates:模板资源文件夹

建议删除以下目录,有可能影响我们项目的运行:

4.1运行项目

点击运行

4.2输出Hello world

我们之前学的Spring其实是一个普通的Java项目,没办法直接和浏览器进行互动,所以我们接下来适用Spring Boot来实现和浏览器以及用户的交互。

代码如下:

java 复制代码
@RestController
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/sayhi")
    public String sayHi() {
        return "hello, Spring Boot.";
    }
}

重新启动项目,我们输入URL观察结果

5.约定大于配置

我们发现在Spring Boot项目中是没有spring-config.xml文件的,取而代之的是以下这个配置文件:

但是我们点开之后,里面什么东西都没有,它是如何检测Bean呢?

Spring Boot中约定和启动类在同一级目录下,就能Spring Boot项目检测到。这就是约定大于配置

6.总结

Spring Boot是为了快速开发Spring而诞生的,Spring Boot具备:

  • 快速集成框架,Spring Boot提供了启动添加依赖的功能,用于秒级集成各种框架
  • 内置运行容器,无需配备Tomcat的Web容器,直接运行和部署
  • 快速部署项目,无需外部容器即可启动并运行项目
  • 可以完全抛弃繁琐的XML,适用注解和配置的方式进行开发。
  • 支持更多的监控指标,可以更好的了解项目的运行情况等特点

Spring Boot的设计思想是约定大于被指,类上标注。

相关推荐
鹿角片ljp10 小时前
KV Cache 解析
java·算法
captain37610 小时前
网络原理(9)-数据链路层
java·网络协议·java-ee
惊讶的猫11 小时前
意图识别置信度和检索重排的分数
java
明月_清风11 小时前
为什么最近开始关注 JEV?几个实战案例告诉你答案
人工智能·后端
caoerzhong11 小时前
仓库管理数字化趋势解读:JeeWMS 开源 Java WMS 视角下的五个演进方向
java·开源
GetcharZp11 小时前
5 分钟拥有自己的 S3:RustFS 上手(MinIO 的 Rust 替代,Apache 2.0 可商用)
后端
程序员JerrySUN11 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
行百里er12 小时前
Redis 版本演进、新特性与协议那些事儿
redis·后端
Joy T12 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者12 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘