学习Idea基于Gradle构建SpringBoot3.0集成MP项目

发生缘由

  • 学习Idea基于Gradle构建SpringBoot3.0集成MP项目

运行环境

  • 电脑系统:win10
  • jdk:17.0.6
  • JVM:Java HotSpot™ 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
  • Idea:IntelliJ IDEA 2022.3.1 (Ultimate Edition)
  • Gradle:7.5.1

环境搭建

创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Gradle项目结构如下:

项目的根目录:
      |-- build # 封装编译后的字节码、打的包、测试报告等信息
      |-- gradle # 封装包装器文件夹
      |    |-- wrapper
      |         |-- gradle-wrapper.jar
      |         |-- gradle-wrapper.properties
      |
      |-- src # 源码
      |    |-- main # 主工程代码
      |    |    |-- java # 业务逻辑代码
      |    |    |-- resources # 业务逻辑代码配置文件
      |    |    |-- webapp # web项目的资源目录。例如:jps/html/css/js
      |    |          |-- WEB-INF # 存放的是一些编译后的class文件和运行所必须的配置文件
      |    |                |-- web.xml文件
      |    |          |-- index.jsp/html/css/js # 存放前端资源文件
      |    |
      |    |-- test # 测试代码
      |         |-- java # 测试代码
      |         |-- resources # 测试代码所需要的配置文件
      |
      |-- gradlew
      |-- gradlew.bat # 包装器启动脚本
      |-- build.gradle # 构建脚本,类似于pom.xml
      |-- settings.gradle # 设置文件,定义项目及子项目名称信息

导入依赖

手动导入Druid和MyBatisPlus依赖

dependencies {
    // druid连接池,SpringBoot没有管理版本,我们自己导入
    implementation group: 'com.alibaba', name: 'druid', version: '1.1.16'
    // MyBatisPlus依赖,如果SpringBoot版本为3.0.2,那么MyBatisPlus需要更新至最新
    implementation group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.5.3'
}

最后build.gradle文件如下:

plugins {
	// java插件,这是java工程
	id 'java'
	// 引入springboot插件,第一个插件是指定springboot版本号,第二个插件是进行jar包的依赖管理
	id 'org.springframework.boot' version '3.0.2'
	id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.linxuan'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
	// Maven的中央仓库
	mavenCentral()
}

dependencies {
	// 导入SpringBoot启动依赖
	implementation 'org.springframework.boot:spring-boot-starter'

	// springboot操作数据库
	// MySQL驱动
	runtimeOnly 'com.mysql:mysql-connector-j'
	// druid连接池,SpringBoot没有管理版本,我们自己导入
	implementation group: 'com.alibaba', name: 'druid', version: '1.1.16'
	// MyBatisPlus依赖,如果SpringBoot版本为3.0.2,那么MyBatisPlus需要3.5.3
	implementation group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.5.3'

	// 测试依赖
	testImplementation 'org.springframework.boot:spring-boot-starter-test'

	// 其他依赖
	// lombok,annotationProcessor代表main下代码的注解执行器
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
}

tasks.named('test') {
	useJUnitPlatform()
}

在这里插入图片描述

从MP的依赖关系可以看出,通过依赖传递已经将MyBatis与MyBatis整合Spring的jar包导入,我们不需要额外在添加MyBatis的相关jar包。

功能模块

# 数据库操作
# 如果不存在linxuan数据库那么就创建
CREATE DATABASE IF NOT EXISTS linxuan CHARACTER SET utf8;
# 使用linxuan数据库
USE linxuan;

# 如果这个表存在,那么就删除
Drop TABLE IF EXISTS tb_user;
# 如果不存在tb_user表那么就创建
CREATE TABLE IF NOT EXISTS tb_user (
    id bigint(20) primary key auto_increment,
    name varchar(32) not null,
    password  varchar(32) not null,
    age int(3) not null ,
    tel varchar(32) not null
);

# 删除当前表,并创建一个新表 字段相同。用来清除当前表的所有数据
TRUNCATE TABLE tb_user;
# 插入数据
insert into tb_user values(1,'Tom','tom',3,'18866668888'), 
                          (2,'Jerry','jerry',4,'16688886666'), 
                          (3,'linxuan','linxuan666',21,'12345678910');
# 在resources目录下创建application.yaml配置文件配置
spring:
  # 配置连接数据库四要素
  datasource:
    # MySQL8驱动为com.mysql.cj.jdbc.Driver,之前的是com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/linxuan?useSSL=false
    username: root
    password: 123456
    # 使用Druid连接池技术连接数据库
    type: com.alibaba.druid.pool.DruidDataSource
package com.linxuan.pojo;

// 让查询的表明与实体类产生关联
@TableName("tb_user")
@Data
public class User {   
    private Long id;
    private String name;
    private String password;
    private Integer age;
    private String tel;
}
package com.linxuan.dao;

// Dao接口要想被容器扫描到,可以在Dao接口上添加@Mapper注解,也可以在项目启动类上添加@MapperScan注解
// 该方案的缺点是需要在每一Dao接口中添加注解
@Mapper
public interface UserDao extends BaseMapper<User>{
}
package com.linxuan;

@SpringBootApplication
// Dao接口要想被容器扫描到,可以在项目启动类上添加@MapperScan注解,也可以在Dao接口上添加@Mapper注解
// 该方法是只需要写一次,则指定包下的所有Dao接口都能被扫描到,这样@Mapper注解就不用写多次
// @MapperScan("com.linxuan.dao")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
// 测试类
@SpringBootTest
class MpDemoApplicationTests {
    @Autowired
    private UserDao userDao;
    
    @Test
    public void testGetAll() {
        List<User> userList = userDao.selectList(null);
        System.out.println(userList);
    }
}

依赖问题

MP官网:https://mp.baomidou.com/。

官网指出,SpringBoot集成MP项目,那么就要导入最新的版本:compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '最新版本'

我们这个项目使用的SpringBoot版本是3.0.2,如果不使用MP3.5.3及以上,使用的是3.4.1。这样会导致jar包不兼容导致出错:

Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
MyBatis No qualifying bean of type 'com.linxuan.dao.UserDao' available...
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用Gradle构建Spring Boot项目之前,需要确保已经安装了Gradle和相应的Java SDK。接下来,遵循以下步骤创建项目工程: 1.首先创建一个文件夹,并在此文件夹中创建一个build.gradle文件。 2.在build.gradle文件中添加以下代码块来声明Spring Boot插件: ``` plugins { id 'org.springframework.boot' version '2.2.4.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' } ``` 3.接着添加以下代码块来声明项目的依赖: ``` dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-devtools' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java' } ``` 4.运行Gradle来下载和安装项目所需的依赖: ``` gradle clean build ``` 5.创建一个Spring Boot应用程序: ``` package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 6.构建并运行项目: ``` gradle bootRun ``` 以上就是使用Gradle构建Spring Boot项目工程的详细教程。这种方法可以提高开发效率,并将代码与项目依赖性集成在一起。 ### 回答2: Gradle是一款开源的自动化构建工具,是目前最为流行的Java项目自动化构建工具之一,可以帮助我们管理项目依赖、执行构建任务、自动化测试等。 Spring Boot是一个快速开发应用程序的框架,几乎可以零配置使用,可以轻松地构建Web应用程序并且支持很多种开发方式。使用Gradle构建Spring Boot项目工程,可以快速构建Spring Boot应用程序。 以下是详细步骤: 一、创建Spring Boot项目 在开始使用Gradle构建Spring Boot项目之前,首先需要创建Spring Boot项目。可以使用Spring官方提供的Spring Initializr工具来创建Spring Boot项目。 具体步骤如下: 1.访问Spring Initializr网站 https://start.spring.io/ 2.选择项目的基本配置信息,包括项目类型、项目名称、项目包名、项目版本号等。 3.选择项目依赖,例如选中Web、JPA、MySQL等依赖。 4.点击“Generate”按钮生成Spring Boot项目,将项目下载到本地电脑上。 二、配置Gradle 1.在项目根目录下创建build.gradle文件, 具体内容如下: //设置Gradle版本 buildscript { ext { springBootVersion = '2.4.1' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } //设置依赖项 apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'com.xxx.xxx'//修改为自己的工程名称 version = '0.0.1-SNAPSHOT'//工程版本号 sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java' testImplementation 'org.springframework.boot:spring-boot-starter-test' } 2.保存build.gradle文件后,在终端中执行gradle build命令即可构建项目,生成的工程目录如下: /build /classes /generated /libs /reports /resources /tmp /bootJar 三、运行Spring Boot应用程序 1.在build.gradle文件中添加以下配置信息: bootRun { sourceResources = sourceSets.main.output.resourcesDir } 2.在终端中执行gradle bootRun命令,即可运行Spring Boot应用程序,在浏览器中输入http://localhost:8080/hello进行访问。 四、打包应用程序 1.在build.gradle文件中添加以下配置信息,用于打包应用程序: bootJar { archiveName = 'app.jar'// 修改生成的文件名 } 2.在终端中执行gradle bootJar命令进行打包,生成的应用程序在工程目录下的build/libs文件夹中,即可部署到服务器上进行使用。 五、总结 通过Gradle构建Spring Boot项目,可以帮助我们更方便地管理项目依赖,执行构建任务,自动化测试等,从而提高项目开发效率和质量。希望本文对你有所帮助。 ### 回答3: 构建Spring Boot项目工程时,使用Gradle是一个较好的选择。因为Gradle是一个极其强大的构建工具,可以快速方便地构建出高效稳定的项目。下面是使用Gradle构建Spring Boot项目工程的详细教程: 第一步:创建新的Gradle项目 在创建Gradle项目时,需要确保使用Gradle版本是5.0及以上版本。 第二步:添加依赖 在构建Spring Boot项目的过程中,我们需要导入一些必要的依赖,比如web依赖。可以在build.gradle文件中添加以下内容: dependencies { compile('org.springframework.boot:spring-boot-starter-web') } 第三步:添加Spring Boot插件 可以通过在build.gradle文件中添加以下内容,来将spring-boot插件添加到项目中: plugins { id 'org.springframework.boot' version '2.6.0' } 第四步:添加源代码 src/main下新建java目录,java目录下新建包名 com.zxy.springboot ,随后在这个包下新建一个名为 SpringBootDemoApplication.java 的文件; 然后在 SpringBootDemoApplication.java 中添加如下内容: package com.zxy.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } } 第五步:运行程序 在build.gradle所在目录,运行以下命令: gradle bootRun 至此,构建Spring Boot项目工程的详细教程已经介绍完毕。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值