程序员写的第一个 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能让整体的开发效率得到提升,从而去思考更适合业务的好的整体设计。

相关推荐
小池先生几秒前
springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失
java·spring boot·后端
CodeClimb4 分钟前
【华为OD-E卷-木板 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
odng7 分钟前
IDEA自己常用的几个快捷方式(自己的习惯)
java·ide·intellij-idea
CT随15 分钟前
Redis内存碎片详解
java·开发语言
brrdg_sefg24 分钟前
gitlab代码推送
java
hanbarger1 小时前
mybatis框架——缓存,分页
java·spring·mybatis
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
苹果醋31 小时前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
小蜗牛慢慢爬行1 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
azhou的代码园1 小时前
基于JAVA+SpringBoot+Vue的制造装备物联及生产管理ERP系统
java·spring boot·制造