专栏首页杂七杂八构建Springboot聚合工程

构建Springboot聚合工程

构建父工程

  • 打开Pycharm,新建工程,选择Maven

创建工程

  • 填写GroupID和ArtifactID groupId :the unique identifier of the organization or group that created the project artifactId :unique base name of the primary artifact being generated by this project GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
  • 创建项目,完善pom文件

工程目录 在pom文件中增加<packaging>pom</packaging>

构建其它模块

  • 分别构建api、common、mapper、pojo、service模块

构建子模块 同样选择Maven,其余步骤与创建父模块相同

image.png

  • 各个模块依赖关系 pojo->common mapper->pojo service->mapper api->service 注意在各个pom中添加相关依赖

添加项目依赖

在父模块的pom文件中添加项目所需依赖

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath />
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.41</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
        <!-- 通用mapper逆向工具 -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>
        <!--pagehelper -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.12</version>
        </dependency>

        <!-- apache 工具类 -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>

        <!-- swagger2 配置 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.6</version>
        </dependency>

        <!--引入日志依赖 抽象层 与 实现层-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
        </dependency>

        <!-- 打包war [3] 添加依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

Install模块

image.png

Install成功在控制台会报build success

试运行

  • 在api模块Java目录下com.jc(你自己的groupId)下创建Application文件
package com.imooc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
// 扫描 mybatis 通用 mapper 所在的包
//@MapperScan(basePackages = "com.jc.mapper")
// 扫描所有包以及相关组件包
//@ComponentScan(basePackages = {"com.jc", "org.n3r.idworker"})
public class Application {
    public static void main(String [] args){
        SpringApplication.run(Application.class, args);
    }
}
  • 在api模块创建controller包,创建IndexController文件
package com.jc.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController {
    @GetMapping("/hello")
    public Object hello(){
        return "hello world";
    }
}
  • 在api模块resource文件夹下创建application.yml
############################################################
#
# web访问端口号  约定:8088
#
############################################################
server:
  port: 8088
  tomcat:
    uri-encoding: UTF-8
  max-http-header-size: 80KB
############################################################
#
# 配置数据源信息
#
############################################################
spring:
  datasource: # 数据源的相关配置
    type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
    driver-class-name: com.mysql.jdbc.Driver # mysql驱动
    url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect
    username: root
    password: root
    hikari:
      connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQ
      minimum-idle: 5 # 最小连接数
      maximum-pool-size: 20 # 最大连接数
      auto-commit: true # 自动提交
      idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
      pool-name: DateSourceHikariCP # 连接池名字
      max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟
      connection-test-query: SELECT 1

运行application.java文件,访问http://localhost:8088/hello,即可看到结果

本文GitHub地址https://github.com/zhangpu1211/JavaCommon

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 搭建SSM开发框架

    之前也使用过SSM开发web项目,但是一直没有详细深入的研究。现在准备从头学起,围绕一个或两个小项目,将SSM框架基本流程搞清楚。下面首先进行项目的搭建。 JD...

    听城
  • 神经网络训练细节part1(上)

    听城
  • numpy中的乘法(*,dot)

    numpy中数据表示有数组和矩阵两种数据类型,他们的乘法计算也是多种形式,下面我们主要来说一下numpy中的乘法计算 numpy.ndarray 运算符 ...

    听城
  • 现在的工程结构能满足你的需求吗?

    创建单模块工程相信很多人都手到擒来。但如果项目很大,功能很多,你还能继续使用单模块工程吗?项目过大,结构肯定也越来越复杂这时候如果你继续使用单模块工程,进展就会...

    田维常
  • 蹭热点转战Java SpringBoot

    spring火火的舍我其谁,SpringBoot在微服务的大环境下飞速发展,我们App的大环境下也需要了解点服务端,毕竟生存之道在于数据,数据之道在于业务……后...

    大话swift
  • JeecgBoot配置及前后端分离HelloWorld项目

    JEECG存在自定义JAR包,放在自己的Maven私服上面,所以有的时候会遇到下载失败。一般遇到下载失败的情况,是因为用户设置了本地镜像,导致无法从JEECG私...

    魏晓蕾
  • mybatis-plus实现增删改查

    QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类 用于生成 ...

    许喜朝
  • spring boot 2.x 整合mybaits及分页插件

    在众多ORM持久层框架中,凯哥还是比较喜欢使用mybatis。至于mybatis的好处在此就不一一列举了。本篇主要介绍的是在spring boot中怎么整合my...

    凯哥Java
  • SpringBoot Jasypt加密数据库账号密码信息

    考虑安全性,项目部署的时候,配置文件中的数据库账户密码不能为明文,所以考虑加密方式

    执笔记忆的空白
  • Springboot框架集成MySQL、RabbitMQ、Redis、Logback日志、Quartz定时任务

    网上关于创建Springboot项目的案例有很多,此处就不阐述,提供一个参考案例:使用IDEA创建一个springboot项目

    麦克劳林

扫码关注云+社区

领取腾讯云代金券