springbootスターターのカスタマイズ

なぜあなたは勉強したいん

私はあなたが同様のツールのみを直接使用するか、いくつかの簡単な操作を行うことが必要の必要な将来のスターターの彼らの通常のフォームを書き込むために使用するツールのいくつかを置く場合は、このフォームで良い感じ、スターターspringboot多くを使用した後それを修正します。

スターターを作成します

開発ツールは、インストールSTSプラグイン、日食。私の使用ueditorでは、例えば、スプリングブートMavenのueditorスプリング・ブート・スターターのと呼ばれるプロジェクトを作成します。

スターター必要な定義された変数

我々はspringbootを使用する場合、通常はYMLファイルまたはプロパティファイルを使用して変数を定義し、私のspringbootプロジェクトは、いくつかの設定が必要ですが、また、YMLファイルで定義されている場合、あなたは日食カスタムアラートを達成するために、いくつかのコードが必要です。

@ConfigurationProperties(接頭辞= "ueditor" パブリック クラスConfigOnProperties { 

    プライベート文字列のROOTPATH。
    
    プライベート文字列はconfigPath。
    
    プライベートString []型staticLocations。


    パブリック文字列getRootPath(){
         戻りROOTPATHと、
    } 

    公共 ボイドsetRootPath(文字列ROOTPATH){ 
        
        ファイルファイル = 新しいファイル(ROOTPATH)。
        もし(file.exists()&& file.isDirectory())
             この .rootPath = ROOTPATH。
        他の{ 
            
            
            文字列クラスパス= この .getClass()のgetResource( "/" ).toString();
            もし(!staticLocations = ヌル){
                 のために(文字列staticLocation:staticLocations){ 
                    ファイルたconfigFile = 新しいファイル(staticLocation + "/" + はconfigPath)。
                    もし(configFile.exists()){ 
                        のclassPath = staticLocation + "/" 
                    } 
                } 
            } 
            もし(!のclassPath = NULL ){ 
                
                この .rootPath = classPath.replace( "ファイル:\\"、 ""
                        .replace( "ファイル:/"、 ""  + ROOTPATH。
            } {
                 この .rootPath = ROOTPATH。
            } 
        } 
            
    } 

    パブリック文字列getConfigPath(){
         戻りはconfigPathと、
    } 

    公共 ボイドsetConfigPath(文字列はconfigPath){
         この .configPath = はconfigPath。
    } 

    パブリック文字列[] getStaticLocationsは(){
         戻りstaticLocationsと、
    } 

    公共 のボイドsetStaticLocations(文字列[] staticLocations){
         この .staticLocationsの=のstaticLocations。
        もしこの!.rootPath = ヌル){ 
            setRootPath(この.rootPath)。
        } 
    } 
}

上記の例では、Iは、三つの変数の設定、すなわちueditor.rootPath、ueditor.configPathとueditor.staticLocationsを定義します。コメントを使用するには:@ConfigurationProperties(接頭辞=「ueditorを」)、そして後者@EnableConfigurationPropertiesの実現に変数を定義します。

デフォルトの構成Bean定義スターター

後で使用で動作ueditorカスタムの多様性を容易にするために、私は、さまざまな操作を実行するためのサービス・インターフェースを定義ueditorが、このインタフェースのデフォルトの実装を書いています。あなたは@Serviceノートの春を使用している場合は、コンフィギュレーションファイルの使用が欠落しているBeanを定義するために後で使用で繰り返さ豆、上の誤りがあるでしょう。

@Configuration 
@EnableConfigurationProperties(値 = ConfigOnProperties。クラス
@ComponentScan(basePackages = "xxxx.ctrl" パブリック クラスUeditorAutoConfiguration { 

    @Bean 
    @ConditionalOnMissingBean(IUeditorService。クラスパブリックIUeditorService uEditorService(){ 
        
        戻り 新しいDefaultUeditorServiceを(); 
    } 
}

Bean内の指定されたタイプの不在は、豆の代わりに使用される場合、この注釈が定義されている@ConditionalOnMissingBean。

これらの構成にスキャン春を作ります

springbootのデフォルトのスキャン@もでき、パッケージ@SpringBootApplication豆注釈付きクラスの範囲スキャン範囲ComponentScan定義されるが、スターターあなたは、このような定義を使用する必要がある場合はあまりスマートではない、とBaiduのビットは、スターターことができます資源の下で、META-INFフォルダを作成し、スキャンパッケージを構成するファイルspring.factoriesファイルを作成します。

#自動設定
org.springframework.boot.autoconfigure.EnableAutoConfiguration = \ 
xxxx.config.UeditorAutoConfiguration

 

おすすめ

転載: www.cnblogs.com/sunleaf/p/10971702.html