SpringBootエントリ(最終)------カスタムスターター

学習と理解の最初の数の後、我々はspringbootプロジェクトは、我々はあなたが起動したときにやりたい何かをすることができ、springbootのためのスターターをカスタマイズすることができます(などリスニング・ポート、など)

具体的な実装手順:

新しいMavenプロジェクトを作成します。1.
だけでなく、相続springboot(追加機能、などのデータベースなど、他の依存関係を導入する必要性を必要とする場合)2.pomファイルの依存関係を導入しなければなりません

ここでは私のMavenプロジェクト、たartifactId、バージョンをGROUPID

    <groupId>org.jym</groupId>
    <artifactId>com-jym-starter-test</artifactId>
    <version>1.0-SNAPSHOT</version>

継承する必要があります。

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

私たちは、導入する必要があります。

    <dependencies>
        <!-- springboot自定义starter规范 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
    </dependencies>
3.次に書き込みビジネスコード、ここでは簡単な出力文を書くこと:

プロジェクト構造:
ここに画像を挿入説明
私はのconfigureカテゴリに話をしてみましょう:
@ConfigurationProperties注:このようなメンテナンス性クラスの説明、属性がapplication.propertiesに構成することができ、注釈経路の値、例えば:com.jym.name = 12138

package com.jym.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @program: com-jym-starter-test
 * @description: 配置属性的类,开发者可在springboot配置文件里配置
 * @author: jym
 * @create: 2020/01/24
 */
@ConfigurationProperties("com.jym")
public class JymProperties {

    private String name = "jym";  // 默认值为jym

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

インタフェース:

package com.jym;

/**
 * @program: com-jym-starter-test
 * @description: 一个测试接口
 * @author: jym
 * @create: 2020/01/24
 */
public interface JymSayHello {

    void sayHello();
}

クラスの実装:

package com.jym.impl;

import com.jym.JymSayHello;
import com.jym.properties.JymProperties;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @program: com-jym-starter-test
 * @description: 对JymSayHello的实现
 * @author: jym
 * @create: 2020/01/24
 */
public class JymSayHelloImpl implements JymSayHello {

    @Autowired
    private JymProperties jymProperties;

    @Override
    public void sayHello() {
        String name = jymProperties.getName();
        System.out.println(name+": hello,springboot");
    }
}

springbootソースプロセス、書き込み構成カテゴリを模倣:

package com.jym.configuration;

import com.jym.JymSayHello;
import com.jym.impl.JymSayHelloImpl;
import com.jym.properties.JymProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @program: com-jym-starter-test
 * @description: 配置类,需要在springboot启动时自动加载进去
 * @author: jym
 * @create: 2020/01/24
 */
// 说明配置类
@Configuration
// 条件注解,只有在classpath下指定class文件时,才被实例化bean
@ConditionalOnMissingClass
// 可以通过spring.properties配置属性
@EnableConfigurationProperties({JymProperties.class})
public class JymAutoConfiguration {

    // 将JymSayHelloImpl注入进IOC容器里,方法名为BeanId
    @Bean
    // 条件注解,意思是:仅当ioc容器中不存在指定类型bean时,才会创建
    @ConditionalOnMissingBean
    public JymSayHello jymSayHello (){
        return new JymSayHelloImpl();
    }

}

ソースプロセスでは、我々はspring.factoriesに私たちのクラスのコンフィギュレーション・ファイルを維持する必要があるので、spring.factoriesファイルが存在します。

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.jym.configuration.JymAutoConfiguration
4.完成したパッケージの必要性がMAVEN、MAVENローカル倉庫かどうかを使用する場合は、エラーがつながることはありません

実行MVNクリーンインストール
ここに画像を挿入説明
その後、カスタムスターターを完了するために!

プロジェクトspringbootスタータープロジェクトを導入する必要性5. [、ポンポンファイルに依存関係を追加します:

あなたは正しいのgroupId、たartifactId、バージョンを入力する必要があります

        <!-- 引入自定义starter -->
        <dependency>
            <groupId>org.jym</groupId>
            <artifactId>com-jym-starter-test</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
6.配置さapplication.propertiesは、属性、設定されていない場合は、デフォルト値に名前を付けます
com.jym.name=12138

テストコード:

package com.jym.demo;

import com.jym.JymSayHello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author Administrator
 */
@SpringBootApplication()
public class DemoApplication implements CommandLineRunner {

    @Autowired
    private JymSayHello jymSayHello;

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

    public void run(String... args) {
        jymSayHello.sayHello();
    }
}

正常に印刷コンソールを起動した後:
ここに画像を挿入説明

注:構成プロパティは、あなたがYMLファイルを利用できるだけでapplication.properties使用することはできませんされ、またはコンフィギュレーションが失敗しました!

人々の10種類が世界であり、1は、1つのバイナリを理解していないで、バイナリを理解することです。

今日は大晦日ですが、私は少し多くを支払う、少しバグ来年、すべてのハッピーニューイヤーあなたが望みます

公開された71元の記事 ウォン称賛54 ビュー420 000 +

おすすめ

転載: blog.csdn.net/weixin_43326401/article/details/104081432