首页 > 其他分享 >【后端 · 初学】使用IDEA新建一个Springboot项目

【后端 · 初学】使用IDEA新建一个Springboot项目

时间:2024-07-12 20:01:26浏览次数:19  
标签:Springboot spring boot IDEA 初学 plus mybatis org com

1 【new project】=》【Spring boot】 =》配置项目的名称和存放位置,type选择【maven】。 选择jdk,最好大于等于17.
在这里插入图片描述
2 选择需要的依赖,本项目使用mybatis-plus,所以不需要添加mybatis的依赖。选择完成点击create即可。
在这里插入图片描述
3 修改pom.xml,下面是一份验证过没有问题的依赖配置。由于不同版本的依赖之间经常出现各种问题,因此最好不要随意修改。最新版的mybatis-plus直接引入mybatis-plus-spring-boot3-starter即可,无需再排除mybatis-spring并单独引入。

<!--  当前项目依赖的第三方 框架  start   -->
    <dependencies>
        <!--SpringBoot 默认依赖的内容  start       -->
        <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>
        <!--SpringBoot 默认依赖的内容  end       -->


        <!-- Spring Web引用 SpringMVC  start      -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Spring Web引用 SpringMVC  end      -->

        <!-- 热部署  start   -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!-- 热部署  end     -->


        <!-- 数据库 持久层 Mybatis-plus  start      -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!-- 数据库 持久层 Mybatis-plus end      -->

        <!--mysql 驱动依赖  start        -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.33</version>
        </dependency>
        <!--mysql 驱动依赖  end        -->

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


        <!-- json 数据转化      -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.7.graal</version>
        </dependency>
        <!-- json 数据转化      -->

        <!--登录令牌  token        -->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.19.2</version>
        </dependency>
        <!--登录令牌  token        -->


        <!--文件上传 start -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.5</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.15.1</version>
        </dependency>
        <!-- 文件上传 end  -->


        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.7</version>
        </dependency>

        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.28</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.1</version>
        </dependency>
    </dependencies>
    <!--  当前项目依赖的第三方 框架  start   -->

4 建包分层:控制器 —— 业务逻辑 —— 持久层 —— DB

  • 实体层 pojo bean entity
  • 持久层 dao mapper
  • 业务逻辑层 service
  • 控制层 controller
  • 拦截器 interceptor
  • 配置 config
  • 工具包utils

5 给项目配置属性文件 application.yml

    spring:
      application:
        name: MobileBankingSystem

      # 数据库配置
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/bank
        username: root
        password: 1234

      # 静态文件路径
      mvc:
        static-path-pattern: /static/**
      web:
        resources:
          static-locations: /static/**

      # 文件上传大小
      servlet:
        multipart:
          max-file-size: 1MB
          max-request-size: 10MB

    # 端口
    server:
      port: 8080

    # mybatis-plus
    mybatis-plus:
      configuration:
        # 日志
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
      global-config:
        # 逻辑删除
        db-config:
          logic-not-delete-value: 1
          logic-delete-value: 0

    # 日志
    logging:
      level:
        web: debug
        sql: debug

6 使用代码生成器,生成基础代码

  		<!-- 代码生成器 start      -->
          <dependency>
              <groupId>com.baomidou</groupId>
              <artifactId>mybatis-plus-generator</artifactId>
              <version>3.5.7</version>
          </dependency>
          <!-- 代码生成器 end      -->

          <!-- 代码模板 start      -->
          <dependency>
              <groupId>org.freemarker</groupId>
              <artifactId>freemarker</artifactId>
              <version>2.3.28</version>
              <scope>compile</scope>
          </dependency>
          <!-- 代码模板 end      -->
  • MobileBankingSystemApplicationTests中写一个方法,生成基础代码
 // 将url、username、password改成数据库的具体配置
      FastAutoGenerator.create("url", "username", "password")
              .globalConfig(builder -> builder
                      .author("Baomidou")		// 作者改成自己
                      .outputDir(Paths.get(System.getProperty("user.dir")) + "/src/main/java") // 可以直接填个固定地址,暂时存放生成的代码
                      .commentDate("yyyy-MM-dd")
              )
              .packageConfig(builder -> builder
                      .parent("com.baomidou.mybatisplus")		// 修改根包
                      .entity("entity")		
                      .mapper("mapper")
                      .service("service")
                      .serviceImpl("service.impl")
                      .xml("mapper.xml")						// 可以自行增减或者修改包名
              )
              .strategyConfig(builder -> builder
                      .entityBuilder()
                      .enableLombok()
              )
              .templateEngine(new FreemarkerTemplateEngine())	// 代码模板,mybatis-plus支持四个
              .execute();
  • 执行单元测试方法生成代码

6 在主程序入口类加上自动扫描注解@MapperScan("com.sheep.mobilebankingsystem.mapper")

标签:Springboot,spring,boot,IDEA,初学,plus,mybatis,org,com
From: https://blog.csdn.net/m0_70298901/article/details/140359965

相关文章

  • springboot
    一,什么是springbootSpringBoot是开发者和Spring本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的SpringBoot就是为了对Javaweb的开发进行“简化”和加“快”速度,简化开发过......
  • SpringBoot整合mybatis-plus
    1.什么是mybatis-plus?mybatis-plus是一个mybatis的增强工具,在mybatis的基本上只做增强不做改变,为简化开发,提高效率而生。2.特点:3.如何使用?添加mybatis-plus依赖<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-bo......
  • 适合小白学校的springboot2 vue3 图书管理系统idea开发mysql数据库
    博主介绍:专注于Java.net phpphython 小程序等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了1000+毕设题目方便大家学习使用感兴趣的可以先收藏起来,还有大家在......
  • 【计算机毕业设计】基于Springboot的智能物流管理系统【源码+lw+部署文档】
    包含论文源码的压缩包较大,请私信或者加我的绿色小软件获取免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所......
  • 【Springboot】玩转复杂单元测试启动类-只测试数据访问层(JPA+Mybatis) 和服务层 以及
    上一篇文章写了一个最复杂的SpringBootTest启动类,定制化程序奇高,然而有时候仅测试JPA是不够的。启动类需求:测试SpringDataJPA测试Mybatis从容器中获得ObjectMapper测试单独的Service使用TestNG或者使用Junit阻止Dubbo、Kafka、ElasticSearch等中间件启动使用appl......
  • Springboot按天生成日志文件
    原文链接:https://blog.csdn.net/weixin_47798667/article/details/131846942 1:首先再yml文件上加上配置 logging: config:classpath:logback-spring.xml2:新建一个logback-spring.xml文件 文件内容是如下 <?xmlversion="1.0"encoding="UTF-8"?>......
  • 基于SpringBoot+Vue+数据可视化的药品商场购物系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • 六、 SpringBoot 配置⽂件 ★ ✔
    六、SpringBoot配置⽂件本节⽬标1.配置⽂件作⽤2.配置⽂件快速⼊⼿3.配置⽂件的格式4.properties配置⽂件说明4.1properties基本语法4.2读取配置⽂件4.3properties缺点分析5.yml配置⽂件说明5.1yml基本语法5.2yml使⽤进阶5.2.1yml配置不同数据类型......
  • day07-SpringBoot
    昨日回顾SSM框架的问题配置文件多。所有的都需要手动配置依赖多。而且会出现版本问题。例如json包就出现版本不兼容问题。启动需要借助tomcat。还要手动集成tomcat插件。学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于Sprin......
  • 毕业设计-基于Springboot+Vue的招生管理系统的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89456200基于SpringBoot+Vue的招生管理系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1GwKRBbuwMiZmnxkvRN9VJg?pwd=sb......