搭建SpringBoot项目 详细教程

一、搭建SpringBoot项目

这个项目,可以作为种子项目,我打算把它放置Gitee上。包含大部分web开发的相关功能,后期所有的Spring Boot项目都可以用这个项目,简单修改一下配置,就可以快速开发了。

  1. 选择Spring initializr,如果服务器URL这一栏一直在转圈(国外地址服务慢),可以使用https://start.aliyun.com/或者使用科学上网,然后完成组织名称、项目名称和项目描述,点击下一步。

在这里插入图片描述

  1. 创建项目时,选择稳定版本的就行(注意:版本不用太新)。依赖先都不勾选,后期一项一项加。
    在这里插入图片描述

  2. 添加maven镜像

    添加maven镜像加快依赖下载速度(可以选择在maven配置文件中设置或者在项目的pom文件中配置)

        <repositories><repository><id>aliyun</id><name>Aliyun Maven Mirror</name><url>https://maven.aliyun.com/repository/public</url></repository></repositories><pluginRepositories><pluginRepository><id>aliyun</id><name>Aliyun Maven Mirror</name><url>https://maven.aliyun.com/repository/public</url></pluginRepository></pluginRepositories>
    
  3. pom文件

    pom文件内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.guizhan</groupId><artifactId>demo1</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>aliyun</id><name>Aliyun Maven Mirror</name><url>https://maven.aliyun.com/repository/public</url></repository></repositories><pluginRepositories><pluginRepository><id>aliyun</id><name>Aliyun Maven Mirror</name><url>https://maven.aliyun.com/repository/public</url></pluginRepository></pluginRepositories></project>
    

二、Spring Boot 常用的依赖

(1) WEB 相关

  • web

    用于web开发场景,包含了 RESTful 和 Spring MVC,并且默认使用了内置的Tomcat

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

    使用 Spring AOP 和 AspectJ的面向切面编程场景。

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
    
  • thymeleaf

    hymeleaf 是一个很强大的视图解析工具

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    
  • test

    用于测试,提供了多个测试库,包括 JUnit Jupiter、Hamcrest 和 Mockito

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    
  • security

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

(2) DB 相关

  • mybatis

    <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version>
    </dependency><!-- mybatis-plus -->
    <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version>
    </dependency>
    
  • jdbc

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    
  • mysql

    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
    </dependency>
    
  • redis

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency><!-- redisson分布式锁 -->
    <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.6</version>
    </dependency>
    
  • mongodb

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    

(3) 辅助依赖

  • lombok

    <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
    </dependency>
    
  • swagger

    <!-- swagger-ui -->
    <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
    </dependency><!-- swagger2 -->
    <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
    </dependency>
    
  • log

    这个依赖会引入 Spring Boot 推荐的日志框架,默认情况下是 Logback

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId>
    </dependency>
    
  • commons-lang3

    commons-lang3是一个小而全的Java工具类库,类里面有很多对时间、数组、数字、字符串等的处理

    <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version>
    </dependency>
    
  • commons-c

    Apache Commons Codec 是一个用于编解码、加解密和哈希算法的 Java 库,提供了各种常见编码和加解密算法的实现,包括 Base64、URL 编码、MD5、SHA 等

    <dependency><groupId>commons-codec</groupId><artifactId>commons-c</artifactId><version>1.11</version>
    </dependency>
    

三、配置文件

application.yaml配置文件的内容

server:port: 8080
spring:application:name: demo1datasource:url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQueries=truedriver-class-name: com.mysql.cj.jdbc.Driverusername: testpassword: testredis:host: 127.0.0.1port: 6379
#    password:
mybatis:mapper-locations: classpath:/mapper/**/*.xml
logging:level:com:java:wiki:mapper: trace

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/275.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 开发小程序之实现不同身份展示不同的 tabbar(底部导航栏),附带相关问题解答

效果展示&#xff1a; 引言 在开发过程中逐渐意识到uniapp原生的tabbar可能不能满足开发要求&#xff0c;通过浏览博客才选择使用uView的Tabbar 底部导航栏来实现&#xff0c;我选择用的是2X版本 安装 我是使用Hbuilder插件的方式引入的组件库&#xff0c;安装配置可以看这篇…

【用户认证】密码加密,用户状态保存,cookie,session,token

相关概念 认证与授权 认证&#xff08;authentication &#xff09;是验证你的身份的过程&#xff0c;而授权&#xff08;authorization&#xff09;是验证你有权访问的过程 用户认证的逻辑 获取用户提交的用户名和密码根据用户名&#xff0c;查询数据库&#xff0c;获得完…

【DBA专属】MHA高可用数据库集群-----------一主一备两从一管理,一个VIP客户端

MHA高可用数据库集群 目录 环境配置&#xff1a; 所有操作系统均为centos 7.x 64bit 1、关闭防火墙&#xff1a;&#xff08;所有服务器&#xff09; 2.配置所有主机名映射&#xff08;所有服务器&#xff09; 3、同步时区 4.安装MHA node及相关perl依赖包&#xff08;所有…

使用HHDESK图形化功能管理服务器

服务器的管理通常繁琐而枯燥&#xff0c;需要大量的命令行来执行。 所以图形化功能应运而生。 本篇以传输文件为例&#xff0c;简单介绍一下HHDESK的图形化管理功能。 首先需要配置好服务器。 点击连接管理&#xff0c;在连接类型中选择SSH&#xff0c;按照刚才在服务器中配…

Android应用程序开发需要哪些编程语言?

开发一款Android上的应用程序通常需要以下编程语言&#xff1a; Java&#xff1a;Java是Android开发的主要编程语言。几乎所有的Android应用程序都使用Java进行核心开发。你可以使用Java编写应用程序的业务逻辑、界面设计和数据处理等。 刚好我这里有嵌入式、plc、单片机的资料…

【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘「内网穿透」

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 转发自CSDN远程穿透的文章&#xff1a;【…

哈工大计算机网络课程网络层协议详解之:DHCP协议

哈工大计算机网络课程网络层协议详解之&#xff1a;DHCP协议 文章目录 哈工大计算机网络课程网络层协议详解之&#xff1a;DHCP协议如何获得IP地址&#xff1f;硬编码动态主机配置协议-DHCP&#xff1a;&#xff08;Dynamic Host Configuration Protocol&#xff09; 动态主机配…

Docker学习笔记1

PaaS&#xff1a; 一、虚拟化分类&#xff1a; 虚拟化资源提供者&#xff1a; 1&#xff09;硬件平台虚拟化 2&#xff09;操作系统虚拟化 虚拟化实现方式&#xff1a; type I: 半虚拟化 type II&#xff1a;硬件辅助全虚拟化 type III&#xff1a; 软件全虚拟化&#xff1a; …

【②MySQL 】:测试数据准备、SQL语句规范与基本操作

前言 欢迎来到小K的MySQL专栏&#xff0c;本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解~✨文末送书&#xff0c;小K赠书活动第二期 目录 前言一、准备测试数据二、SQL语句规范三、数据库的基本操作四、总结&#xff1a;文末赠书 一、准备测…

影响远程访问性能的潜在因素

对企业和远程办公人员而言&#xff0c;远程访问技术非常关键。因为通过这项技术&#xff0c;员工可以随时随地使用任意设备工作&#xff0c;可以提高生产力和灵活性。 但是&#xff0c;远程访问性能可能会受到多种因素的影响。这篇文章将介绍影响远程访问性能的各种潜在因素&a…

弟子规 古译今 详解

博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1f466;&#x1f3fb; 《java 面试题大全》 &#x1f369;惟余辈才疏学浅&#xff0c;临摹之作或有不妥之处&#xff0c;还请读者海涵指正。☕&#x1f36d; 《MYSQL从入门到精通》数据库是开发者必会基础之…

GPT-4:AI的新突破,重塑芯片设计领域

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;其在各个领域的应用也日益广泛。最近&#xff0c;纽约大学Tandon工程学院的研究人员利用OpenAI的GPT-4模型&#xff0c;成功设计出了一个芯片&#xff0c;这标志着AI在硬件设计领域的重大突破。 GPT-4通过简单的英…