SpringBoot入门介绍
入门介绍
Spring Boot解决的问题
- Spring Boot使编码变简单
- Spring Boot使配置变简单
- Spring Boot使部署变简单
- Spring Boot使监控变简单
Spring Boot 主要解决了传统基于 Spring 框架开发 Java 应用程序时遇到的一些常见痛点,包括但不限于以下几个方面:
-
简化配置:
- Spring Boot 通过自动配置功能极大地减少了手动XML或Java配置的数量。它根据类路径中的依赖自动配置bean,这意味着开发者只需添加合适的起步依赖(Starter POMs),Spring Boot 就能自动配置好相应的环境和组件。
-
快速启动:
- 内嵌了诸如Tomcat、Jetty或Undertow等Servlet容器,使得应用可以直接运行在独立的JAR文件中,无需部署到外部的应用服务器上,从而实现了一键启动服务。
-
简化依赖管理:
- 提供了一系列“Starter”模块,这些模块是预定义的一组依赖集合,可以轻松地包含项目所需的所有相关依赖,避免了版本冲突和依赖地狱的问题。
-
统一的生产级配置:
- 提供了Actuator模块,该模块提供了丰富的端点以监控和管理应用程序,包括健康检查、度量指标收集、审计日志、环境信息等,便于运维人员管理和调试生产环境。
-
方便的开发工具支持:
- 支持使用IDEA、Eclipse等开发工具进行快速开发,并集成了Spring DevTools,提供热加载等功能,提高了开发效率。
-
简化微服务架构搭建:
- Spring Boot与Spring Cloud配合,简化了构建微服务架构的过程,提供了服务发现、负载均衡、配置中心、熔断器等一系列微服务治理的功能。
-
约定优于配置:
- 强调遵循一套约定好的目录结构和命名规则,这样开发者可以更专注于业务逻辑开发,而不是花费大量时间在框架的配置上。
Spring Boot项目结构
Spring Boot 应用程序的结构遵循模块化和组织良好的原则,虽然Spring Boot官方没有严格规定项目结构,但根据最佳实践,一个典型的Spring Boot项目的结构通常包含以下几个主要部分:
my-spring-boot-app/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com.example.myapp/ # 主要Java源代码目录
│ │ │ ├── MySpringBootApp.java # 入口主类(带有`@SpringBootApplication`注解)
│ │ │ ├── config/ # 配置类或配置文件相关代码
│ │ │ ├── controller/ # 控制器层(处理HTTP请求,带有`@RestController`或`@Controller`注解)
│ │ │ ├── service/ # 业务逻辑层(带有`@Service`注解)
│ │ │ ├── repository/ # 数据访问层(数据持久化接口,带有`@Repository`注解)
│ │ │ ├── model/ # 实体类或模型对象(数据库表对应的POJO类)
│ │ │ ├── util/ # 工具类
│ │ │ └── aspect/ # 切面编程相关的类(带有`@Aspect`注解)
│ │ └── resources/
│ │ ├── static/ # 静态资源文件,如CSS、JavaScript、图片等
│ │ ├── templates/ # 视图模板文件(如Thymeleaf、FreeMarker模板)
│ │ ├── application.properties # Spring Boot应用的基本配置文件
│ │ ├── application.yml # 或者YAML格式的配置文件
│ │ ├── logback.xml # 日志配置文件(如果使用Logback的话)
│ │ └── other-configurations/ # 其他特定框架或组件所需的配置文件
│ └── test/
│ └── java/
│ └── com.example.myapp/ # 测试代码目录,包括单元测试、集成测试等
│ ├── MySpringBootAppTests.java # 示例测试类
│ └── ... # 其他测试类
├── pom.xml # Maven构建文件(如果是Gradle项目则为build.gradle)
└── README.md # 项目说明文档
转载自:https://juejin.cn/post/7382757732670193702