idea创建springboot项+集成阿里连接池druid

创建项目并集成流程

  • 1:前提准备
  • 2:创建springboot项目流程
  • 3:集成阿里连接池步骤
  • 4:集成swagger方便测试
  • 5:书写增删改查进行测试
  • 6:项目gitee地址

1:前提准备

  1. 准备开发工具:idea

  2. java环境:jdk1.8

  3. 安装插件lombook
    在这里插入图片描述

2:创建springboot项目流程

  1. 依次选择:File–>New–>Project…
    在这里插入图片描述

  2. 选择Spring Initializr,依次填写和修改响应信息。

注意事项:Type: Maven(选择maven,要不生成的项目没有pom.xml文件存在)

在这里插入图片描述

  1. 由于官网地址可能因为网络等原因,会有问题,可以修改下镜像

https://start.aliyun.com

在这里插入图片描述

  1. 填写好之后,点击:next

  2. 选择版本和对应的依赖,确认无误点击:finish
    在这里插入图片描述

  3. 创建完成的目录结构
    在这里插入图片描述

  4. 修改application.priperties文件的后缀改成yml

  5. 添加基础的三层架构包,删除demos

控制层:controller
业务逻辑层:service、impl
数据访问层/持久层:mapper
实体:entity
··········································
初级可以补下相关知识
java培训技术关于三层架构和 MVC
java三层架构
java三层架构
什么是三层架构?

在这里插入图片描述

  1. application.yml 文件添加内容
spring:application:# 服务名称name: fallrain-bootprofiles:# 选择环境,我这里创建了两个环境文件,dev:开发环境,prod: 正式发布环境# 正常有这么几个环境# 1:dev--本地开发环境;# 2:sit--测试环境;# 3:uat--准生产环境;# 4:prod--生产环境;active: devmvc:pathmatch:matching-strategy: ant_path_matcher
mybatis:# 配置mapper.xml位置mapper-locations: classpath:mapper/**.xml
  1. application-dev.yml 文件添加内容
server:# 服务启动端口,可根据情况自定义port: 8989
spring:# 数据库连接datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/fallrain_boot?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=trueusername: rootpassword: admin@123
swagger:# 是否开启swaggerenable: true
  1. yml配置文件截图
    在这里插入图片描述

  2. 启动项目
    在这里插入图片描述

3:集成阿里连接池步骤

  1. 添加依赖(放入pom.xml,放入<dependencies></dependencies>标签中)
        <!-- 阿里云连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency>

在这里插入图片描述

  1. 添加依赖版本管理(放入pom.xml,放入<properties></properties>标签中)
<druid.version>1.2.16</druid.version>

在这里插入图片描述

4:集成swagger方便测试

  1. 引入依赖,放在阿里连接池下面就行(放入pom.xml,放入<dependencies></dependencies>标签中)
<!-- Swagger API文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version><exclusions><exclusion><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId></exclusion><exclusion><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId></exclusion></exclusions></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.9.6</version></dependency><!-- # 增加两个配置解决 NumberFormatException --><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.22</version></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId><version>1.5.22</version></dependency><!-- Swagger API文档 -->
  1. 创建配置类:Swagger2Config
在com.fallrain.fallrainspringboot文件夹下创建swagger,在创建类Swagger2Config

在这里插入图片描述

package com.fallrain.fallrainspringboot.swagger;import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** @Decription SWAGGER*/
@Slf4j
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class Swagger2Config implements WebMvcConfigurer {/**** 显示swagger-ui.html文档展示页,还必须注入swagger资源:** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}/*** swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等** @return Docket*/@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//此包路径下的类,才生成接口文档.apis(RequestHandlerSelectors.basePackage("com.fallrain.fallrainspringboot"))//加了ApiOperation注解的类,才生成接口文档.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build();
//				.securitySchemes(Collections.singletonList(securityScheme()));//.globalOperationParameters(setHeaderToken());}/*** api文档的详细信息函数,注意这里的注解引用的是哪个** @return*/private ApiInfo apiInfo() {return new ApiInfoBuilder()// //大标题.title("XX项目-XX管理-API接口文档")// 版本号.version("1.0")
//				.termsOfServiceUrl("NO terms of service")// 描述.description("后台API接口")// 作者.contact("XXX团队").license("The Apache License, Version 2.0").licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html").build();}}
  1. 注意事项:包路径记得修改

.apis(RequestHandlerSelectors.basePackage(“com.fallrain.fallrainspringboot”))

  1. yml文件配置是否开启swagger
swagger:# 是否开启swaggerenable: true

5:书写增删改查进行测试

  1. 引入lombok依赖(放入pom.xml,放入<dependencies></dependencies>标签中)
        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version></dependency>
  1. 书写增删改查
  2. 测试:http://localhost:8989/doc.html
    在这里插入图片描述

6:项目gitee地址

https://gitee.com/itliulei/fallrainspringboot.git
数据库脚本:sql/fallrain_boot.sql

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

世界前沿技术发展报告2023《世界信息技术发展报告》(三)量子信息技术

&#xff08;三&#xff09;量子信息技术 1. 概述2. 量子计算2.1 阿里巴巴达摩院成功研制两比特量子芯片&#xff0c;单比特操控精度超99.97%2.2 加拿大Xanadu公司开发出可编程光量子计算机2.3 美国英伟达公司为经典-量子混合计算推出开发架构2.4 日本国家自然科学研究所开发出…

9+单细胞+实验验证,探讨单基因对癌细胞转移作用的思路方向

今天给同学们分享一篇单细胞实验的生信文章“Identification of RAC1 in promoting brain metastasis of lung adenocarcinoma using single-cell transcriptome sequencing”&#xff0c;这篇文章于2023年5月18日发表在Cell Death Dis期刊上&#xff0c;影响因子为9。 本研究旨…

国庆中秋特辑(三)使用生成对抗网络(GAN)生成具有节日氛围的画作,深度学习框架 TensorFlow 和 Keras 来实现

要用人工智能技术来庆祝国庆中秋&#xff0c;我们可以使用生成对抗网络&#xff08;GAN&#xff09;生成具有节日氛围的画作。这里将使用深度学习框架 TensorFlow 和 Keras 来实现。 一、生成对抗网络&#xff08;GAN&#xff09; 生成对抗网络&#xff08;GANs&#xff0c;…

硕士应聘大专老师

招聘信息 当地人社局、学校&#xff08;官方&#xff09; 公众号&#xff08;推荐&#xff09;&#xff1a; 辅导员招聘 厦门人才就业信息平台 高校人才网V 公告出完没多久就要考试面试&#xff0c;提前联系当地院校&#xff0c;问是否招人。 校招南方某些学校会直接去招老师。…

古代有没有电子元器件?

手机&#xff0c;电脑&#xff0c;电视等等电子产品&#xff0c;无时无刻充斥在我们的生活中&#xff0c;如果有一天突然没有了这些功能多样的电子产品&#xff0c;估计大部分人都会一时之间难以适应。 这就好比正在上网&#xff0c;结果突然被人断了网&#xff0c;导致无网络连…

【计算机毕业设计】基于SpringBoot+Vue记帐理财系统的设计与实现

博主主页&#xff1a;一季春秋博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容&#xff1a;毕业设计(Java项目、小程序、安卓等)、简历模板、学习资料、…

【操作系统】线程、多线程

为什么要引入线程&#xff1f; 传统的进程只能串行的执行一系列程序&#xff0c;线程增加并发度。同一个进程分为多个线程。 线程是调度的基本单元&#xff0c;程序执行流的最小单位&#xff0c;基本的CPU执行单元。 进程是资源分配的基本单位。 线程的实现方式 用户级线程 代…

软件测试/测试开发丨利用人工智能ChatGPT自动生成架构图

点此获取更多相关资料 简介 架构图通过图形化的表达方式&#xff0c;用于呈现系统、软件的结构、组件、关系和交互方式。一个明确的架构图可以更好地辅助业务分析、技术架构分析的工作。架构图的设计是一个有难度的任务&#xff0c;设计者必须要对业务、相关技术栈都非常清晰…

LeetCode【174. 地下城游戏】

一片丹心图报国&#xff0c;两行清泪为忠家。——于谦 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康…

【Node.js】数据库配置与操作、Session实现原理、JWT实现原理:

文章目录 一、数据库配置与操作【1】 数据库的基本操作【2】 使用 mysql 模块操作 MySQL 数据库 二、Session实现原理【1】HTTP 协议的无状态性【2】Cookie【3】Session 的工作原理【3】在 Express 中使用 Session 认证 三、JWT实现原理【1】JWT 的工作原理【2】JWT 的组成部分…

使用 PyTorch 的计算机视觉简介 (6/6)

一、说明 本文主要介绍CNN中在pytorch的实现&#xff0c;其中MobileNet 网络&#xff0c;数据集来源&#xff0c;以及训练过程&#xff0c;模型生成和存储&#xff0c;模型调入等。 二、轻量级网络和移动网络 我们已经看到&#xff0c;复杂的网络需要大量的计算资源&#xff0c…

前端开发中,文本单行或多行溢出使用省略号显示

1.文本单行溢出使用省略号显示 关键代码如下&#xff1a; .box1{width: 200px;height: 30px;line-height: 30px;margin: 0 auto;background-color: rgba(220, 220, 220, 0.751);/* 单行文本超出隐藏 用省略号代替 */white-space: nowrap;overflow: hidden;text-overflow: ellip…

RabbitMQ工作模式——Topics模式

1.Topics通配符模式 *是一个单词&#xff0c;#是0到多个单词 Topics模式生产者代码 public class Producer_Topic {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory();//…

基于SpringBoot的的师生健康信息管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员功能模块 学生功能模块 教师功能模块 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着移动应用技术的发展&#xff0c;越来越多的用户借助于移动手机、电脑完成生活中的事务&#xff0c;许多的传统行业也…

metinfo_5.0.4 EXP Python脚本编写

文章目录 metinfo_5.0.4EXP编写SQL注入漏洞 metinfo_5.0.4EXP编写 SQL注入漏洞 漏洞点&#xff1a;/about/show.php?langcn&id22 http://10.9.75.142/metInfo_5.0.4/about/show.php?langcn&id22验证漏洞(数字型注入) 状态码区分正确与错误 做比较的时候不能采用…

SkyWalking分布式链路追踪学习

为什么要用分布式链路追踪 实际生产中&#xff0c;面对几十个、甚至成百上千个的微服务实例&#xff0c;如果一旦某个实例发生宕机&#xff0c;如果不能快速定位、提交预警&#xff0c;对实际生产造成的损失无疑是巨大的。所以&#xff0c;要对微服务进行监控、预警&#xff0…

【操作系统笔记三】内存寻址

物理寻址 主存&#xff08;内存&#xff09; 计算机主存也可以称为物理内存&#xff0c;内存可以看成由若干个连续字节大小的单元组成的数组每个字节都有一个唯一的物理地址&#xff08;Physical Address&#xff09;CPU访问内存前&#xff0c;先拿到内存地址&#xff0c;然后…

Failed to load the JNI shared library “D:\...\jvm.dll

1.解决办法&#xff1a; 64-bit Eclipse requires a 64-bit JVM, and 32-bit Eclipse requires 32-bit JVM--you can not mix-and-match between 32-bit and 64-bit. 2.问题&#xff1a; 下载了Eclipse4.16&#xff0c;openjdk8&#xff0c;双击安装Eclipse无法启动&#x…

git常用命令 Git常用命令 git常用操作 git 操作

git常用命令 Git常用命令 git常用操作 git 操作 示例仓库地址初始化本地仓库克隆仓库代码查看当前仓库的状态&#xff0c;包括已修改但未提交的文件添加提交文件提交更改查看提交历史记录查看分支列表切换分支合并一个指定的分支到当前分支拉取远程仓库最新代码推送到远程仓库推…

高级运维学习(九)块存储、文件系统存储和对象存储的实现

块存储基础 块设备存取数据时&#xff0c;可以一次存取很多。字符设备只能是字符流 [rootceph1 ~]# ll /dev/sda brw-rw---- 1 root disk 8, 0 Dec 12 13:15 /dev/sda # b表示block&#xff0c;块设备[rootceph1 ~]# ll /dev/tty crw-rw-rw- 1 root tty 5, 0 Dec 12 13:31 /d…