程序员写的第一个 Spring Boot 应用,太爽了......

关于我:我是山茶,一个专注于技术的菜鸟。你懂的越多,就懂得不懂的越多。关注➕我,一起了解更多知识。

0.前言

在软件开发中,有许多的应用框架,可以提高开发效率,减少开发过程中的问题,从而使得应用开发变得更快、更好。其中java中目前使用的最广范的框架当属Spring家族中的springboot框架,它较Spring及SpringMVC有较多优点,具体如何使用和创建,请看下文。

1.SpringBoot简介

Spring Boot是由Pivotal团队提供的一套开源框架,可以简化spring应用的创建及部署。它提供了丰富的Spring模块化支持,可以帮助开发者更轻松快捷地构建出企业级应用。Spring Boot通过自动配置功能,降低了复杂性,同时支持基于JVM的多种开源框架,可以缩短开发时间,使开发更加简单和高效。

2.优势特征

2.1.可快速构建独立的Spring应用

Spring Boot主要是通过注解和自动化配置的方式推出的全新框架,旨在快速、敏捷的开发新一代基于Spring框架的应用程序。在构建Spring Boot项目时,只要根据需求选择对应的场景依赖,Spring Boot会自动添加该场景所需要的全部依赖并提供自动化配置,在无需额外手动添加配置的情况下可以快速构建出一个独立的Spring应用程序

2.2.支持java和groovy

Spring boot同时支持Java和Groovy。这意味着我们可以根据需求在spring boot中开发基于java或groovy的应用程序,而不需要像spring这样进行繁重的配置。

2.3.无版本

在spring boot中,我们知道我们不需要提及应用程序的版本。如果我们想添加任何新的依赖项,它将在内部为我们管理,然后我们可以直接添加它而不需要版本。因此,与spring框架一样,管理所有依赖项的版本非常困难,因为每次应用程序失败时,版本中都存在不匹配。我们可以将依赖项更改为pom。xml或.gradle文件,无版本或不关心版本。spring boot将为我们提供此功能。

2.4.直接嵌入Tomcat、Jetty和Undertow服务器(无需部署WAR文件)

Spring Boot项目不需要像传统的Spring应用一样打成WAR包的形式部署到Tomcat、Jetty或Undertow服务器中,运行一个Spring Boot项目,可以直接将项目打成JAR包的形式,并通过命令"java -jar xx.jar"运行。这是因为,Spring Boot项目内嵌了Tomcat、Jetty和Undertow服务器,因此在部署过程中减少了对第三方插件的依赖和管理。

2.5.管理配置文件

我们也可以在spring boot应用程序中轻松管理配置文件,我们可以为每个环境设置配置文件并创建应用程序文件,而不需要做很多事情。

2.6.为插件提供良好支持

spring boot为许多插件提供了良好的支持,这些插件可以在spring boot应用程序中使用,并在Gradle、maven等工具中进行测试。

2.7.实现微服务框架

通过使用spring boot框架,我们可以在应用程序中轻松实现微服务架构;它为此提供了良好的支持。此外,我们在线上有很多文档,如果我们遇到困难,可以找到很多解决方法。

3.快速入门

3.1.快速创建一个springboot应用程序

创建一个springboot应用程序有两种方式

第一种:直接使用IDE工具直接按照提示生成,

第二种:在springboot官网生成一个springboot应用,随后导入到对应的IDE工具中

ps:此处工具选择使用为IDEA工具

在这里我们只说明一个方式,另外一方式不在这里赘述,想要具体进行了解可以google一下,了解更多内容。

3.2.使用IDE工具生成一个SpringBoot应用程序

  1. 打开IDEA,打开路径File->New->Project
  1. 使用Spring Initializr方式构建Spring Boot项目

Spring Initializr是一个Web应用,它提供了一个基本的项目结构,能够帮助我们快速构建一个基础的Spring Boot项目

3)设置项目所属组,项目名称,选择java版本(从上到下分别是,项目所属组、项目名称、配置的方式、Java版本及Java配置信息)

  1. 选择对应的SpringBoot版本

选择开发中用到的配置依赖包,也可以不选择,在用到时向pom里面添加对应的jar,有一点需要注意,springboot选择版本的时候不需要选择过高的版本,根据实际应用选择就行,否则会出现不适配的错误,导致无法运行

  1. 创建后直接运行

运行成功的样例,注意在添加了mybatis及jdbc的pom配置后,在没有数据源的情况下会出现报错信息,这个时候要注意的是,我们有三种对应的解决方案(1.暂时不涉及到数据库操作,直接将对应的pom配置去除 2.在 SpringBoot 应用程序启动时,排除 jdbc 的自动装配机制即可,在程序入口文件中新增配置注解 " exclude=DataSourceAutoConfiguration.class " 3.配置一个可以用的数据库配置信息)

数据库的配置填写需要按照格式在application.properties中

ini 复制代码
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/dbTest?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username = root
spring.datasource.password = xxxx

3.3.使用SpringBoot开发一个可访问程序

在创建简单的访问程序前,首先要简单的了解下springboot的架构分层与各层之间的作用,简单的说SpringBoot 分为四层:controller层、service层、dao层、entity层。

entity层:和 model 层一样,存放的是实体类,属性值与数据库值保持一致,实现 setter 和 getter 方法。

dao层:即 mapper层,对数据库进行持久化操作,他的方法使针对数据库操作的,基本上用的就是增删改查,他就是个接口,只有方法名,具体实现在mapper.xml中实现。

service层:业务层,存放业务逻辑处理,不直接对数据库进行操作,有接口和接口实现类,提供 controller 层调用方法。

controller层:控制层,导入 service层,调用你service方法,controller通过接受前端传来的参数进行业务操作,在返回一个制定的路径或数据表。

(ps:看起来简单,但其实很多人并没有把他们职责划分开,在很多代码中,controller 做的逻辑比 service 还多, service 往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。后续文章针对这个进行展开讲解)

创建各层代码

Controller层

less 复制代码
首先要确定增加注解Controller,类层的RequestMapping注解可以不加

@Controller
@RequestMapping("/nlefer")
public class FirstController {

    @Autowired
    FirstService firstService;

    @RequestMapping("/firsttest")
    public void showNlefer(@RequestBody String id){
        System.out.println("世界你好");
        firstService.saveData(id);
    }
}

Mapper层代码即dao层代码

less 复制代码
需要增加对应的mapper注解
@Mapper
public interface FirstMapper {
    String saveData(@Param("id") String id);
}

Service

typescript 复制代码
增加对应的Service注解
@Service
public class FirstService {

    @Autowired
    FirstMapper firstDao;

    public String saveData(String id){
        return firstDao.saveData(id);
    }
}

这样我们整个的应用程序就基本上满足了我们的应用需求了,当然这个时候mapper.xml是需要根据具体的数据库要求进行操作的,需要你自己定制。

基本流程:接口请求->controller层->service层->dao层->数据库

4.总结

进行springboot项目创建的主要流程

1)创建一个springboot的基本工程调试通过,没有报错

2)根据业务需求增加业务逻辑的代码,要了解springboot 的架构层级,更好的进行业务代码开发

3)执行我们的springboot工程,使用api调试工具调试,验证是否通过

在业务开发过程中,springboot能让整体的开发效率得到提升,从而去思考更适合业务的好的整体设计。

相关推荐
GJCTYU4 分钟前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
艾迪的技术之路14 分钟前
redisson使用lock导致死锁问题
java·后端·面试
今天背单词了吗98032 分钟前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
天天摸鱼的java工程师35 分钟前
使用 Spring Boot 整合高德地图实现路线规划功能
java·后端
东阳马生架构1 小时前
订单初版—2.生单链路中的技术问题说明文档
java
咖啡啡不加糖1 小时前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
风象南1 小时前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
DKPT1 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
Percep_gan1 小时前
idea的使用小技巧,个人向
java·ide·intellij-idea