なぜあなたは勉強したいん
私はあなたが同様のツールのみを直接使用するか、いくつかの簡単な操作を行うことが必要の必要な将来のスターターの彼らの通常のフォームを書き込むために使用するツールのいくつかを置く場合は、このフォームで良い感じ、スターター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