一个简单的SpringBoot项目快速搭建详细步骤

前言

  • 本文章仅供大家参考,如果对大家有起到帮助的话可以点赞支持一下~
  • 主要发布是为了本人以后能方便的搭建一个SpringBoot项目的框架!!!
  • 源码路径在文章最下方!

第一步新建项目

1.选择Spring Initializr

一个简单的SpringBoot项目快速搭建详细步骤_第1张图片

2.点击下一步

一个简单的SpringBoot项目快速搭建详细步骤_第2张图片

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

一个简单的SpringBoot项目快速搭建详细步骤_第3张图片

4.选中Spring Web,再下一步

一个简单的SpringBoot项目快速搭建详细步骤_第4张图片

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

一个简单的SpringBoot项目快速搭建详细步骤_第5张图片

这样子就会生成一个项目,如下图所示

一个简单的SpringBoot项目快速搭建详细步骤_第6张图片

下图中这些文件如果没有需要的情况下一般就直接删掉就好了!

一个简单的SpringBoot项目快速搭建详细步骤_第7张图片

第二步导入依赖

按照上面的步骤完成的打开pom.xml文件的配置依赖应该和我的是一样的!

一个简单的SpringBoot项目快速搭建详细步骤_第8张图片

接着我们添加一些需要的依赖

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

		
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        
		
        
            mysql
            mysql-connector-java
        
		
        
            com.alibaba
            druid-spring-boot-starter
            1.2.8
        
		
        
            org.projectlombok
            lombok
        

第三步配置Application

新建一个application.yml文件 (使用aplication.properties也是可以的,只是本人一般使用.yml格式的)

一个简单的SpringBoot项目快速搭建详细步骤_第9张图片

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

一个简单的SpringBoot项目快速搭建详细步骤_第10张图片

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项目快速搭建详细步骤_第11张图片

创建数据库

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项目快速搭建详细步骤_第12张图片

IDEA连接上Mysql数据库(主要为了方便查看创建pojo类和对于的mapper.xml文件)

一个简单的SpringBoot项目快速搭建详细步骤_第13张图片

一个简单的SpringBoot项目快速搭建详细步骤_第14张图片

一个简单的SpringBoot项目快速搭建详细步骤_第15张图片

找到需要的数据库

一个简单的SpringBoot项目快速搭建详细步骤_第16张图片

一个简单的SpringBoot项目快速搭建详细步骤_第17张图片

一般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项目快速搭建详细步骤_第18张图片

创建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项目快速搭建详细步骤_第19张图片

创建对于mapper接口的xml文件

需要的mapper基本配置





对于接口中的方法在添加需要的增删改查功能(原配置代码有问题、目前已修改)






    
        insert into metest.userinfo (username, password, authority)
         values (#{username},#{password},#{authority});
    

    
        delete from metest.userinfo where id = #{id};
    

    
        update metest.userinfo set username=#{username},password=#{password},authority=#{authority}
        where id=#{id};
    

    

    

图中爆红不用管这个是因为我配置了一个插件的原因,实际在运行时不影响效果!

一个简单的SpringBoot项目快速搭建详细步骤_第20张图片

创建service层

一个简单的SpringBoot项目快速搭建详细步骤_第21张图片

一个简单的SpringBoot项目快速搭建详细步骤_第22张图片

UserInfoService代码(其实其中的方法也就是Maper接口中拷贝来的)

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();
}

UserInfoServiceImpl代码(主要是做业务逻辑的)

有需要添加的功能可以直接在这一层添加修改

@Service
public class UserInfoServiceImpl implements UserInfoService {

    @Autowired
    private UserInfoMapper userInfoMapper;

    @Override
    public void add(UserInfo userInfo) {
        userInfoMapper.add(userInfo);
    }

    @Override
    public void delete(Integer id) {
        userInfoMapper.delete(id);
    }

    @Override
    public void update(UserInfo userInfo) {
        userInfoMapper.update(userInfo);
    }

    @Override
    public UserInfo queryById(Integer id) {
        return userInfoMapper.queryById(id);
    }

    @Override
    public List queryAll() {
        return userInfoMapper.queryAll();
    }
}

创建controller层

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


        
            com.alibaba
            fastjson
            1.2.78
        

我使用了RestFull风格去实现路径的请求

一个简单的SpringBoot项目快速搭建详细步骤_第23张图片

代码

//@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下载路径:https://app.getpostman.com/app/download/win64

查询测试

一个简单的SpringBoot项目快速搭建详细步骤_第24张图片

一个简单的SpringBoot项目快速搭建详细步骤_第25张图片

查询没问题

增加数据测试

一个简单的SpringBoot项目快速搭建详细步骤_第26张图片

此时数据库数据也多了一条数据

一个简单的SpringBoot项目快速搭建详细步骤_第27张图片

修改测试

一个简单的SpringBoot项目快速搭建详细步骤_第28张图片

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

一个简单的SpringBoot项目快速搭建详细步骤_第29张图片

删除测试

一个简单的SpringBoot项目快速搭建详细步骤_第30张图片

此时数据就被删除了

一个简单的SpringBoot项目快速搭建详细步骤_第31张图片

源码路径:https://gitee.com/mehao123/meTest

总结

到此这篇关于SpringBoot项目快速搭建的文章就介绍到这了,更多相关SpringBoot项目搭建步骤内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(一个简单的SpringBoot项目快速搭建详细步骤)