在一些项目或者产品中,有时候需要用到一些自定义公共的包,希望在项目或者产品中直接引入,直接使用,不需要太多的配置和调整。

那么在springboot项目中怎么开发自定义包和使用:

  1. 首先需要创建一个maven的项目

  2. 开发一些公共使用的功能

  3. 配置打包配置

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    <build>
      <!-- 打包后的jar包名称 -->
      <finalName>soyuan-haspapi-${version}</finalName>
       
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifest>
                <addClasspath>true</addClasspath>
                <useUniqueVersions>false</useUniqueVersions>
                <classpathPrefix>lib/</classpathPrefix>
              </manifest>
              <manifestEntries>
                <version>${project.version}</version>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
      </plugins>
    </build>
    
  4. 在resources文件下创建META-INF文件夹并创建文件:spring.factories

    1
    2
    3
    4
    5
    
    并且输入内容
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    com.soyuan.haspapi.config.HaspConfigurerAdapter
       
    #com.soyuan.haspapi.config.HaspConfigurerAdapter 这个是自定的一个类需要加入spring容器的
    
  5. 打包这个包到本地或者远程仓库

  6. 使用直接在其他项目或者产品中配置pom文件

    1
    2
    3
    4
    5
    
    <dependency>
      <groupId>xxxxx</groupId>
      <artifactId>xxxxxx</artifactId>
      <version>1.0</version>
    </dependency>
    

提示:

Spring Factories机制提供了一种解耦容器注入的方式,帮助外部包(独立于spring-boot项目)注册Bean到spring boot项目容器中