基于SpringBoot搭建RestAPI接口服务(基于IDEA)

1. 项目构建

  1. IDEA内置了SpringBoot启动
    在这里插入图片描述
  2. 填写项目相关信息
    在这里插入图片描述
  3. 根据项目需要选择所需依赖,这里搭建RestAPI服务
    在这里插入图片描述

2. 项目配置参考

项目配置可以配置多个application,开发,测试,生产,通过配置spring.profiles.active=dev启用不同的配置文件

  1. application.properties

springBoot配置文件 (可以按照项目需求,把各个环境不变的配置配置在这里)

# 配置启动环境加载不同的配置文件
spring.profiles.active=dev
# Redis服务器地址
spring.redis.host=
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1ms
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=1000ms

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

#数据库
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.initialSize=5  
spring.datasource.minIdle=5  
spring.datasource.maxActive=20
spring.datasource.maxWait=60000


# 注意注意
mybatis.mapper-locations= classpath:club/lovewangxi/dal/dao/*.xml
mybatis.type-aliases-package=club.lovewangxi.dal.entity
# 驼峰命名规范 如:数据库字段是  order_id 那么 实体字段就要写成 orderId
mybatis.configuration.map-underscore-to-camel-case=true

#logging.level.root = WARN
#logging.level.org.springframework.web = DEBUG
##比如 mybatis sql日志
#logging.level.org.mybatis = INFO
#logging.level.club.lovewangxi.dal = DEBUG
  1. application-dev.properties

开发环境

#开发环境
server.servlet.context-path=/payroll
server.port=8081

#JDBC 连接
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=

# Redis数据库索引(默认为0)
spring.redis.database=1

## 日志
logging.level.* = DEBUG
#logging.pattern.console= %d - %msg%n
logging.path=D:/logs/payroll/
logging.file=D:/logs/payroll/logs.log

Maven依赖参考

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>club.lovewangxi</groupId>
    <artifactId>payroll</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>payroll</name>
    <description>Payroll management system</description>

    <properties>
        <java.version>1.8</java.version>
        <druid.version>1.0.29</druid.version>
        <fastjson.version>1.2.51</fastjson.version>
        <common.version>3.8.1</common.version>
        <beanutils.version>1.9.3</beanutils.version>
        <lombok.version>1.16.22</lombok.version>
        <pagehelper.version>5.0.3</pagehelper.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--数据库连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${common.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>${beanutils.version}</version>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
        <!--pagehelper-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
    </dependencies>

    <build>
        <!--resources配置解决mybatis 的mapperXml配置在java路径不被扫描的问题 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

项目结构参考

在这里插入图片描述


版权声明:本文为amx50b原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。