IDEA搭建springboot+maven多模块项目(微服务笔记01)

目录

一.创建父工程(bear-maven_module)

二.创建子工程 (bear-maven_module-common)

 三.创建子工程 (bear-maven_module-provider)

 四.测试项目


一.创建父工程(bear-maven_module)

1. File --->  New ---> Project

2. 选择Spring Initializr,点击Next

3. 修改Group与Artifact(根据自己喜好修改),修改Java Version为自己使用的版本,点击Next

4. 之后一直点击Next,直到Finish完成创建

5. 修改父工程pom文件,至此父工程创建完成。

<?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 https://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.2.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!-- 注意:加入子模块(这一步根据创建的子工程加入) -->
    <modules>
        <module>bear-maven_module-common</module>
        <module>bear-maven_module-provider</module>
    </modules>
    <groupId>com.bear</groupId>
    <artifactId>bear-maven_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging><!-- 注意:修改jar为pom -->
    <name>bear-maven_module</name>
    <description>Demo project for Spring Boot</description>
    <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>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

二.创建子工程 (bear-maven_module-common)

1. 选中父工程右键,New ---> Module

2. 之后参照父工程2,3,4步骤进行创建。

3. 修改pom文件

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--指定父工程为parent-->
    <parent>
        <groupId>com.bear</groupId>
        <artifactId>bear-maven_module</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath><!-- lookup parent from repository -->
    </parent>
    <groupId>com.bear</groupId>
    <artifactId>bear-maven_module-common</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>bear-maven_module-common</name>
    <description>Demo project for Spring Boot</description>

    <dependencies>
       
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

 三.创建子工程 (bear-maven_module-provider)

1. 参照创建子工程bear-maven_module-common进行创建。

2. 修改bear-maven_module-provider的pom文件(引入bear-maven_module-common)

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.bear</groupId>
        <artifactId>bear-maven_module</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath><!-- lookup parent from repository -->
    </parent>
    <groupId>com.bear</groupId>
    <artifactId>bear-maven_module-provider</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>bear-maven_module-provider</name>
    <description>Demo project for Spring Boot</description>

    <dependencies>
        <!--引用bear-maven-module-common项目,引入后可以直接使用bear-maven-module-common项目中的公共类 -->
        <dependency>
            <groupId>com.bear</groupId>
            <artifactId>bear-maven_module-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3.配置application.properties文件(加上端口号和服务名称)

#加这两个即可
server.port=29011
spring.application.name=bear-maven-module-provider

 四.测试项目

1. 在bear-maven_module-common子项目中添加一个StringUtils类,该类的作用是验证字符串是否是手机号,如果是,返回true

package com.bear.bearmaven_modulecommon.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class StringUtils {
    public StringUtils() {
    }

    public static boolean isMobile(String telephone) {
        if (telephone != null && !"".equals(telephone)) {
            Pattern pattern = Pattern.compile("^[1-9][0-9]{10}");
            Matcher isPhone = pattern.matcher(telephone);
            return isPhone.matches();
        } else {
            return false;
        }
    }

}

 2. 在bear-maven_module-provider子项目中添加一个测试类,测试能否调用到 bear-maven_module-common子项目中的StringUtils类

 

package com.bear.bearmaven_moduleprovider.controller;

import com.bear.bearmaven_modulecommon.utils.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("")
public class TestController {

    @RequestMapping(value = "/testToUtils", method = RequestMethod.GET)
    public @ResponseBody
    Boolean testToUtils(@RequestParam(value = "phone") String phone) throws Exception {
        return StringUtils.isMobile(phone);
    }

}

 3. 启动bear-maven_module-provider子项目,在浏览器调用bear-maven_module-provider子项目中的/testToUtils接口,查看返回结果

输入188返回false,输入1888888888返回true

4.至此完成,下篇在此基础上整合eureka 。


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