「小程序JAVA實戰」springboot的后台搭建(31)


轉自:https://idig8.com/2018/08/29/xiaochengxujavashizhanspringbootdehoutaidajian31/

根據下面的圖,我們來建立下對應的springboot的聚合項目。源碼:https://github.com/limingios/wxProgram.git 中的wx-springboot

 

maven主工程

選擇Maven Project

選擇路徑

雙擊pom添加springboot的maven,查看maven的倉庫中,springboot(1)的最后一個版本是1.5.15release直接使用1.5.15release!

<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>
  <groupId>com.idig8</groupId>
  <artifactId>wx-springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>小程序JAVA實戰</name>
    <description>
        小程序
        maven
        springmvc
        springboot
        mybatis
        mybatis-pagehelper
        redis
        ffmpeg
        druid
        mariadb/mysql
        zookeeper音頻操作
       出品:
        個人網站:https://idig8.com
        公眾號:編程坑太多      
    </description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.12.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>
</project>

maven子工程

  • common工程
    >使用的數據庫是mariadb,mysql被oracle收購了,大家應該都知道,他的作者為了繼續倡導開源免費,加上避嫌,就建立了一個分支mariadb。國外的很多打公司都慢慢從mysql切換成了mariadb,centos7內置的都是mariadb。mariadb跟mysql的命令對於開發人員來說都是一致的,所以依賴引用的時候直接引用mysql的jar就可以了。

點擊pom 添加依賴

<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>com.idig8</groupId>
    <artifactId>wx-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>wx-springboot-common</artifactId>

  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <!-- 排除springboot默認的logback日志框架 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- 引入log4j日志依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
        </dependency>

        <!-- 引入spring aop依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
            </exclusions>
        </dependency>

        <!-- 資源配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <!-- 阿里開源數據源 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.0</version>
        </dependency>

        <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>1.3.1</version>
        </dependency>
        <!--mapper -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>
        <!--pagehelper -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</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>

        <!-- 引入 redis 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.8.7.RELEASE</version>
        </dependency>

        <!-- 引入zookeeper -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.0.0</version>
        </dependency>

    </dependencies>
</project>
  • pojo 工程

image.png

點擊pom 添加依賴common依賴

選擇common作為依賴

pojo的pom文件

<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>com.idig8</groupId>
    <artifactId>wx-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>wx-springboot-pojo</artifactId>

  <dependencies>
    <dependency>
        <groupId>com.idig8</groupId>
        <artifactId>wx-springboot-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>

</project>
  • mapper 工程

點擊pom 添加依賴pojo依賴

mapper的pom文件

<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>com.idig8</groupId>
    <artifactId>wx-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>wx-springboot-mapper</artifactId>
  <dependencies>
    <dependency>
        <groupId>com.idig8</groupId>
        <artifactId>wx-springboot-pojo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>
  • service 工程

點擊pom 添加依賴mapper依賴

service 的pom文件

<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>com.idig8</groupId>
    <artifactId>wx-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>wx-springboot-service</artifactId>
  <dependencies>
    <dependency>
        <groupId>com.idig8</groupId>
        <artifactId>wx-springboot-mapper</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>
  • api 工程

點擊pom 添加依賴service依賴

api 的pom文件

<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>com.idig8</groupId>
    <artifactId>wx-springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>wx-springboot-api</artifactId>
  <dependencies>
    <dependency>
        <groupId>com.idig8</groupId>
        <artifactId>wx-springboot-service</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>

構建完畢

  • 增加 springboot的啟動java文件
package com.idig8;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@ComponentScan(basePackages= {"com.idig8"})
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

  • resources 添加配置文件

image.png

log4j.properties

log4j.rootLogger=INFO,console,dailyFile
# TODO 發布到阿里雲記得添加,另外控制台不輸出(只輸出warn或者error信息)
#INFO,console,dailyFile

#log4j.logger.org.mybatis = DEBUG
log4j.logger.com.imooc.mapper=INFO

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n

# 定期滾動日志文件,每天都會生成日志
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.encoding=UTF-8
log4j.appender.dailyFile.Threshold=INFO
# TODO 本地日志地址,正式環境請務必切換為阿里雲地址
log4j.appender.dailyFile.File=/idig8/logs/wx-web/log.log4j
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n

application.properties


\############################################################ # # 配置數據源相關 使用阿里巴巴的 druid 數據源 # ############################################################ spring.datasource.url=jdbc:mysql://ip:3306/test spring.datasource.username=XXXXXX spring.datasource.password=XXXXXX spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.druid.initial-size=1 spring.datasource.druid.min-idle=1 spring.datasource.druid.max-active=20 spring.datasource.druid.test-on-borrow=true spring.datasource.druid.stat-view-servlet.allow=true ############################################################ # # mybatis 配置 # ############################################################ # mybatis 配置 mybatis.type-aliases-package=com.idig8.pojo mybatis.mapper-locations=classpath:mapper/*.xml # 通用 Mapper 配置 mapper.mappers=com.idig8.utils.MyMapper mapper.not-empty=false mapper.identity=MYSQL # 分頁插件配置 pagehelper.helperDialect=mysql pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql # 文件上傳配置 spring.http.multipart.maxFileSize=100Mb spring.http.multipart.maxRequestSize=1000Mb ############################################################ # # Server 服務端相關配置 # ############################################################ # 配置api端口號 server.port=8081 ############################################################ # Server - tomcat 相關常用配置 ############################################################ # tomcat的URI編碼 server.tomcat.uri-encoding=UTF-8

啟動 Application.java

properties 插件

PS:spring boot的聚合工程基本搭建完成。下一步就開始搭建api接口開發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM