软件编程
位置:首页>> 软件编程>> java编程>> Springboot创建子父工程过程图解

Springboot创建子父工程过程图解

作者:泡椒炒甜瓜  发布时间:2022-09-20 06:06:26 

标签:spring,boot,子,父,工程

这篇文章主要介绍了Springboot创建子父工程过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.创建子父工程

Springboot创建子父工程过程图解

Springboot创建子父工程过程图解

Springboot创建子父工程过程图解

Springboot创建子父工程过程图解

Springboot创建子父工程过程图解

2.添加pom配置文件

2.1 父工程pom.xml


<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.demo</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
  <module>springboot-server</module>
  <module>springboot-common</module>
  <module>springboot-domain</module>
  <module>springboot-sdk</module>
</modules>

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <build.jdk.version>1.8</build.jdk.version>
   <spring.boot.version>1.5.9.RELEASE</spring.boot.version>
   <spring.version>4.3.13.RELEASE</spring.version>
   <slf4j.version>1.7.25</slf4j.version>
   <fastjson.version>1.2.8</fastjson.version>
   <commons.lang.version>3.1</commons.lang.version>
   <commons.io.version>2.5</commons.io.version>
   <commons.beanutils.version>1.9.3</commons.beanutils.version>
   <commons.codec.version>1.11</commons.codec.version>
   <guava.version>19.0</guava.version>
 </properties>

<dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <version>${spring.boot.version}</version>
     </dependency>

<dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
       <version>${spring.boot.version}</version>
     </dependency>

<dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
       <version>${spring.boot.version}</version>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-context</artifactId>
       <version>${spring.version}</version>
     </dependency>

<dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-core</artifactId>
       <version>${spring.version}</version>
     </dependency>

<dependency>
       <groupId>com.alibaba</groupId>
       <artifactId>fastjson</artifactId>
       <version>${fastjson.version}</version>
     </dependency>

<dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
       <version>${commons.lang.version}</version>
     </dependency>

<dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>${commons.io.version}</version>
     </dependency>
     <dependency>
       <groupId>commons-beanutils</groupId>
       <artifactId>commons-beanutils</artifactId>
       <version>${commons.beanutils.version}</version>
     </dependency>
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
       <version>${commons.codec.version}</version>
     </dependency>

<dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <version>${guava.version}</version>
     </dependency>
   </dependencies>
 </dependencyManagement>

<dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <version>${spring.boot.version}</version>
     <scope>test</scope>
   </dependency>
   <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-api</artifactId>
     <version>${slf4j.version}</version>
   </dependency>
 </dependencies>

<distributionManagement>
   <repository>
     <id>nexus-releases</id>
     <name>Nexus Release Repository</name>
     <url>http://ip:9090/repository/releases/</url>
   </repository>
   <snapshotRepository>
     <id>nexus-snapshots</id>
     <name>Nexus Snapshot Repository</name>
     <url>http://ip:9090/repository/snapshots/</url>
   </snapshotRepository>
 </distributionManagement>

<build>
   <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>3.1</version>
       <configuration>
         <source>${build.jdk.version}</source>
         <target>${build.jdk.version}</target>
       </configuration>
     </plugin>

<!-- 使用方式命令: versions:set -DoldVersion=* -DnewVersion=1.0.1-SNAPSHOT -DprocessAllModules=true
       -DallowSnapshots=true -->
     <plugin>
       <groupId>org.sonarsource.scanner.maven</groupId>
       <artifactId>sonar-maven-plugin</artifactId>
       <version>3.2</version>
     </plugin>
   </plugins>
 </build>

</project>

2.2 子工程springboot-server pom.xml:


<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.demo</groupId>
 <artifactId>springboot</artifactId>
 <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>springboot-server</artifactId>

<name>springboot-server</name>
<properties>
   <application.main.class>com.demo.Application</application.main.class>
 </properties>
 <dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
   </dependency>

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

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
   </dependency>

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
   </dependency>

<dependency>
     <groupId>commons-io</groupId>
     <artifactId>commons-io</artifactId>
   </dependency>
   <dependency>
     <groupId>commons-beanutils</groupId>
     <artifactId>commons-beanutils</artifactId>
   </dependency>
   <dependency>
     <groupId>commons-codec</groupId>
     <artifactId>commons-codec</artifactId>
   </dependency>
   <dependency>
     <groupId>com.google.guava</groupId>
     <artifactId>guava</artifactId>
   </dependency>

<dependency>
     <groupId>net.sf.ehcache</groupId>
     <artifactId>ehcache</artifactId>
     <version>2.10.5</version>
   </dependency>
 </dependencies>

<build>
   <sourceDirectory>src/main/java</sourceDirectory>
   <resources>
     <resource>
       <directory>src/main/resources</directory>
       <filtering>true</filtering>
       <includes>
         <include>*.properties</include>
         <include>*.yml</include>
         <include>*.xml</include>
       </includes>
     </resource>
     <resource>
       <directory>src/main/resources</directory>
       <filtering>false</filtering>
       <excludes>
         <exclude>scripts/*</exclude>
         <exclude>*.properties</exclude>
         <exclude>*.yml</exclude>
         <exclude>*.xml</exclude>
       </excludes>
     </resource>

<!-- 收集运行脚本 -->
     <resource>
       <directory>src/main/resources/scripts</directory>
       <targetPath>${project.build.directory}/bin</targetPath>
       <filtering>true</filtering>
       <includes>
         <include>*.sh</include>
         <include>*.bat</include>
       </includes>
     </resource>
     <!-- 收集配置文件 -->
     <resource>
       <directory>src/main/resources</directory>
       <targetPath>${project.build.directory}/conf</targetPath>
       <filtering>true</filtering>
       <includes>
         <include>*.properties</include>
         <include>*.yml</include>
         <include>*.xml</include>
       </includes>
     </resource>

<!-- 收集手动导入的jar包 -->
     <resource>
       <directory>lib</directory>
       <targetPath>${project.build.directory}/lib</targetPath>
     </resource>
   </resources>
   <plugins>
     <!-- 1.用于编译的plugin -->
     <!-- <plugin> -->
     <!-- <groupId>org.apache.maven.plugins</groupId> -->
     <!-- <artifactId>maven-compiler-plugin</artifactId> -->
     <!-- <version>3.1</version> -->
     <!-- <configuration> -->
     <!-- <fork>true</fork> -->
     <!-- <source>1.8</source> -->
     <!-- <target>1.8</target> -->
     <!-- <encoding>UTF-8</encoding> -->
     <!-- </configuration> -->
     <!-- </plugin> -->

<!-- 2.用于生成jar包的plugin -->
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-jar-plugin</artifactId>
       <version>2.6</version>
       <configuration>
         <outputDirectory>${project.build.directory}/lib</outputDirectory>
         <archive>
           <manifest>
             <addClasspath>true</addClasspath>
             <classpathPrefix>lib/</classpathPrefix>
           </manifest>
         </archive>
         <excludes>
           <exclude>*.xml</exclude>
           <exclude>*.yml</exclude>
           <exclude>*.properties</exclude>
         </excludes>
       </configuration>
     </plugin>

<!-- 3.用于拷贝maven依赖(lib)的plugin -->
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-dependency-plugin</artifactId>
       <executions>
         <execution>
           <id>copy-dependencies</id>
           <phase>package</phase>
           <goals>
             <goal>copy-dependencies</goal>
           </goals>
           <configuration>
             <outputDirectory>${project.build.directory}/lib</outputDirectory>
           </configuration>
         </execution>
       </executions>
     </plugin>

<!-- 4.用于拷贝resource文件夹 的plugin -->

<!-- 5.配置生成源代码jar的plugin[这里的源代码是指java文件,不是class文件] -->
     <plugin>
       <artifactId>maven-source-plugin</artifactId>
       <version>2.4</version>
       <configuration>
         <attach>true</attach>
         <!-- 配置源代码jar文件的存放路径 -->
         <outputDirectory>${project.build.directory}</outputDirectory>
       </configuration>
       <executions>
         <execution>
           <phase>compile</phase>
           <goals>
             <goal>jar</goal>
           </goals>
         </execution>
       </executions>
     </plugin>

<!-- 打包zip -->
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-assembly-plugin</artifactId>
       <executions>
         <execution>
           <id>dfrp-portal</id>
           <configuration>
             <archive>
               <manifest>
                 <mainClass>${application.main.class}</mainClass>
               </manifest>
             </archive>
             <descriptors>
               <descriptor>src/main/resources/scripts/assembly.xml</descriptor>
             </descriptors>
             <!-- 将依赖jar包都包含在目标jar中 -->
             <!-- <descriptorRefs> -->
             <!-- <descriptorRef>jar-with-dependencies</descriptorRef> -->
             <!-- </descriptorRefs> -->
             <finalName>${project.name}-${version}</finalName>
           </configuration>
           <phase>package</phase>
           <goals>
             <goal>single</goal>
           </goals>
         </execution>
       </executions>
     </plugin>
   </plugins>
 </build>

</project>

3.App启动类


/**
* Copyright (c) 2020, All Rights Reserved.
*
*/

package com.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
 private static final Logger LOG = LoggerFactory.getLogger(Application.class);

public static void main(String[] args) {
   SpringApplication app = new SpringApplication(Application.class);
   app.setBannerMode(Banner.Mode.OFF);
   app.setWebEnvironment(true);
   app.run(args);
   LOG.info("**************** Startup Success ****************");
 }
}

4.application.yml配置文件


version: ${project.version}

server:
port: 7070
session-timeout: 0
context-path: /

5.测试controller类


package com.demo.server.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {

@RequestMapping("/helloworld")
 public String hello(String name) {
   return "name"+name;
 }

}

Springboot创建子父工程过程图解

springboot子父项目启动成功。

来源:https://www.cnblogs.com/chong-zuo3322/p/12317195.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com