搭建SpringBoot项目——开发环境搭建开发环境搭建
作者:mmseoamin日期:2023-12-25
简介

        SpringBoot 是 Java 社区最有影响力之一的开源的Spring后端开发框架,也是企业级应用开发的首选技术,Spring Boot 拥有良好的技术基因,它是伴随着Spring 4 而产生的技术框架,在继承了 Spirng 框架所有优点的同时也为开发者带来了巨大的便利,与普通的 Spring 项目相比,SpringBoot 可以让项目的配置更简化、编码更简化、部署更方便,为开发者提供了开箱即用的良好体验,进一步提升了开发者的开发效率。

一.Spring boot环境配置

1.JDK安装

jdk 1.8.0_201(及以上版本)

https://www.oracle.com/java/technologies/down搭建SpringBoot项目——开发环境搭建开发环境搭建,icon-default.png?t=N7T8,第1张https://www.oracle.com/java/technologies/down

  • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第2张

    环境变量配置

    1.打开高级系统设置

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第3张

    2.打开环境变量

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第4张

    3.新建系统变量

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第5张

    4.新建JAVA_HOME变量,变量值为JDK安装路径

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第6张

    5.在系统变量中找到Path变量进行编辑

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第7张

    6.将刚才新建的JAVA_HOME变量加入其中

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第8张

    7.利用CDM命令验证环境变量是否配置成功java-version

    搭建SpringBoot项目——开发环境搭建开发环境搭建,第9张

    1. 安装完成后,验证JDK是否成功安装。在命令行中输入以下命令:

      java -version
      

      如果能够看到类似以下版本信息,说明JDK已经正确安装:

      java version "11.0.11" 2021-04-20 LTS
      Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
      Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
      

    安装完JDK后,您就可以继续配置Java环境变量和安装IDE了。

    为什么需要配置环境变量?

    配置环境变量是为了让操作系统能够找到并执行特定的命令和程序。

            在Java开发中,配置Java环境变量是为了使命令行窗口能够识别和执行Java的命令和程序。通过配置环境变量,我们可以在任何位置使用命令行窗口执行Java命令,而不需要指定Java的安装路径。这样可以方便地进行Java开发和调试工作。

           另外,一些集成开发环境(IDE)也需要配置Java环境变量,以便能够正常编译和运行Java项目。所以,配置环境变量是为了方便我们进行Java开发和运行项目。

      
    为什么需要新建JAVA_HOME变量?

    新建JAVA_HOME变量是为了设置Java的安装路径。

           JAVA_HOME变量告诉操作系统Java的安装位置,使系统能够正确识别和执行Java的命令和程序。在配置Java环境变量时,我们需要设置JAVA_HOME变量并将其指向Java的安装路径。这样,当我们在命令行窗口中执行Java命令时,系统就能够根据JAVA_HOME变量找到Java的安装位置,从而正确执行相关的命令和程序。

           同时,一些开发工具和集成开发环境(IDE)也需要JAVA_HOME变量来定位Java的安装路径,以便能够编译和运行Java项目。因此,新建JAVA_HOME变量是为了确保系统能够正确识别和执行Java的命令和程序,并且为开发工具提供正确的Java安装路径。

    2.Maven的安装

    • Maven的安装下载
    • Maven – Download Apache Maven搭建SpringBoot项目——开发环境搭建开发环境搭建,icon-default.png?t=N7T8,第1张https://maven.apache.org/download.cgi
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第11张
    • Maven环境变量配置
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第12张
    • 添加环境变量
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第13张
    • 验证环境变量配置成功
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第14张
    • 将JDK和Maven在IDER中进行集成,在IDER中完成初始化Maven的配置以及初始化JDK的配置
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第15张
    • 将下列代码复制到mirrors里,然后保存
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第16张
    • 环境配置
    • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第17张
    • 通过IDE创建Maven项目相对来说更加简单,因为IDE会自动处理大部分的配置和依赖管理工作。无论你选择哪种方式,都可以快速创建一个Maven项目,并开始使用Spring Boot进行开发。

      3.Intellij IDEA Ultimate旗舰版

      • 为了Spring boot的开发,我们需要下载旗舰版IDEA
      • Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com)搭建SpringBoot项目——开发环境搭建开发环境搭建,icon-default.png?t=N7T8,第1张https://www.jetbrains.com/idea/download/?section=windows
      • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第19张
      • 配置IDEA
      • 搭建SpringBoot项目——开发环境搭建开发环境搭建,第20张

        Spring boot环境配置完成!

        二.创建Spring Boot项目

        第一步Maven创建方式   

        1.在IDEA工具中点击New Project,进入下面界面点击Spring initializr选项,如图所示填写信息。

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第21张

        2.点击下一步

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第22张

        3.修改jdk的版本,再点击下一步

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第23张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第24张

        4.选中Spring Web,再下一步

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第25张

        5.给项目文件命名,再点击完成

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第26张

        然后就会生成一个项目,如图所示

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第27张

        第二步导入依赖

        进入选择依赖库界面,在这里大家就可以选择我们开发当中要使用到的例如数据库驱动,技术,框架等等。

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第28张

        SpringBoot项目需要提供一个接口去拿到数据所有在这里我们需要能连接数据库的配置

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第29张

        第三步配置Application

        新建一个application.yml文件

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第30张

        配置项目需要修改的端口号、datasource、mybatis。

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第31张

        server:

          #设置端口号

          port: 8081 #默认端口是8080

        spring:

          datasource:

            #数据库用户名

            username: root

            #数据库用户密码

            password: 123456

            #serverTimezone=UTC 解决市区的报错 一般mysql是8.0以上的是必须配置这个

            #userUnicode=true&characterEncoding=utf-8 指定字符编码、解码格式

            url: jdbc:mysql://localhost:3306/metest?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8

            #设置驱动类

            driver-class-name: com.mysql.cj.jdbc.Driver

            #设置数据源

            type: com.alibaba.druid.pool.DruidDataSource

            #Spring Boot 默认是不注入这些属性值的,需要自己绑定

            #druid 数据源专有配置

            initialSize: 5

            minIdle: 5

            maxActive: 20

            maxWait: 60000

            timeBetweenEvictionRunsMillis: 60000

            minEvictableIdleTimeMillis: 300000

            validationQuery: SELECT 1 FROM DUAL

            testWhileIdle: true

            testOnBorrow: false

            testOnReturn: false

            poolPreparedStatements: true

            #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入

            #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority

            #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j

            filters: stat,wall,log4j

            maxPoolPreparedStatementPerConnectionSize: 20

            useGlobalDataSourceStat: true

            connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

        # 配置mybatis

        mybatis:

          #指定pojo扫描包位置让mybatis自动扫描到指定义的pojo包下

          type-aliases-package: com.me.test.pojo

          #指定位置扫描Mapper接口对应的XML文件 classpath:xml文件位置

          mapper-locations: classpath:mapper/*.xml

        第四步创建需要的mapper、service、cotroller层

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第32张

        创建数据库

        spl语句代码

        CREATE DATABASE /*!32312 IF NOT EXISTS*/`metest` /*!40100 DEFAULT CHARACTER SET utf8 */;

        USE `metest`;

        /*Table structure for table `userinfo` */

        DROP TABLE IF EXISTS `userinfo`;

        CREATE TABLE `userinfo` (

          `id` int(10) NOT NULL AUTO_INCREMENT,

          `username` varchar(30) NOT NULL,

          `password` varchar(30) NOT NULL,

          `authority` varchar(30) NOT NULL,

          PRIMARY KEY (`id`)

        ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

        /*Data for the table `userinfo` */

        insert  into `userinfo`(`id`,`username`,`password`,`authority`) values (1,'root','123456','admin'),(2,'me','123456','admin');

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第33张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第34张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第35张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第36张

        v搭建SpringBoot项目——开发环境搭建开发环境搭建,第37张

        一般pojo类、mapper接口、service接口名字都是按照数据库中表的名字来创建的

        创建pojo类

        //使用@Data自动生成需要的get、set

        @Data

        //使用@AllArgsConstructor自动生成有参构造

        @AllArgsConstructor

        //使用@NoArgsConstructor自动生成无参构造

        @NoArgsConstructor

        public class userInfo {

            

            private Integer id;

            private String username;

            private String password;

            private String authority;

        }
        搭建SpringBoot项目——开发环境搭建开发环境搭建,第38张

        创建mapper接口

        @Repository

        @Mapper

        public interface UserInfoMapper {

            /**

             * 增加一条数据

             * @param userInfo 数据

             */

            void add(UserInfo userInfo);

            /**

             * 删除一条数据

             * @param id 被删除数据的id

             */

            void delete(Integer id);

            /**

             * 修改一条数据

             * @param userInfo 修改的数据

             */

            void update(UserInfo userInfo);

            /**

             * 根据id去查询一条数据

             * @param id 查询的id

             */

            UserInfo queryById(Integer id);

            /**

             * 查询全部数据

             * @return

             */

            List queryAll();

        }

         

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第39张

        创建对于mapper接口的xml文件

        需要的mapper基本配置

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第40张

        对于接口中的方法在添加需要的增删改查功能

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第41张

        图中爆红不用管这个是因为我配置了一个插件的原因,实际在运行时不影响效果!搭建SpringBoot项目——开发环境搭建开发环境搭建,第42张

        创建service层

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第43张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第44张

        UserInfoService代码

        public interface UserInfoService {

            /**

             * 增加一条数据

             * @param userInfo 数据

             */

            void add(UserInfo userInfo);

            /**

             * 删除一条数据

             * @param id 被删除数据的id

             */

            void delete(Integer id);

            /**

             * 修改一条数据

             * @param userInfo 修改的数据

             */

            void update(UserInfo userInfo);

            /**

             * 根据id去查询一条数据

             * @param id 查询的id

             */

            UserInfo queryById(Integer id);

            /**

             * 查询全部数据

             * @return

             */

            List queryAll();

        }

         

        创建controller层

        这里我先去pom中配置一个fastjson依赖这是阿里巴巴开源的,用来转换成JSON和类的格式的。

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第45张\\搭建SpringBoot项目——开发环境搭建开发环境搭建,第46张

        //@Controller 控制层需要的注解

        //@RestController 使用这个也是可以的,但是使用后他里面所有请求返回的都是字符串!

        //一般只需要作为接口放回JSON格式数据的话推荐使用@RestController

        //@Controller这个是可以与Thymeleaf模板引擎使用时可以返回一个页面的

        @Controller

        //@RequestMapping指定路径名

        //@RequestMapping("/test")用这个来指定路径也是可以的

        @RequestMapping(value = "/test")

        public class UserInfoController {

            //获取到UserInfoService

            @Autowired

            private UserInfoService userInfoService;

            //Get请求

            @GetMapping

            //@ResponseBody 注释后表示放回的是字符串

            @ResponseBody

            public String queryAll(){

                List userInfoList = userInfoService.queryAll();

                return JSON.toJSONString(userInfoList);

            }

            //使用了RestFull风格

            @GetMapping("/{id}")

            @ResponseBody

            public String query(@PathVariable(value = "id")Integer id){

                UserInfo userInfo = userInfoService.queryById(id);

                List userInfoList = new ArrayList<>();

                userInfoList.add(userInfo);

                return JSON.toJSONString(userInfoList);

            }

            //post请求

            //@RequestBody 表示接收请求是JSON格式的数据

            @PostMapping

            @ResponseBody

            public String add(@RequestBody UserInfo userInfo){

                userInfoService.add(userInfo);

                return "添加OK";

            }

            //Delete请求

            @DeleteMapping(value = "/{id}")

            @ResponseBody

            public String delete(@PathVariable("id")Integer id){

                userInfoService.delete(id);

                return "删除成功";

            }

            //Put请求

            @PutMapping("/{id}")

            @ResponseBody

            public String update(@PathVariable("id")Integer id,

                    @RequestBody UserInfo userInfo){

                userInfo.setId(id);

                userInfoService.update(userInfo);

                return "修改成功";

            }

        }

         

        第五步测试请求

        本人测试使用的工具是Postman

        Postman下载路径:Download Postman

        查询测试

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第47张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第48张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第49张

        查询没问题

        增加数据测试

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第50张

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第51张

        修改测试

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第52张

        此时数据库的数据也发生了改变

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第53张

        删除测试

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第54张

        此时数据就被删除了

        搭建SpringBoot项目——开发环境搭建开发环境搭建,第55张

        总结

        总的来说,搭建Spring Boot项目的开发环境需要安装JDK、配置Java环境变量、安装IDE、创建项目、配置依赖以及开发和运行项目。这些步骤都需要仔细操作,但一旦搭建完成,你就可以开始开发高效、稳定的Spring Boot应用了。