Spring Boot Startersとはどういうことですか?

4062 ワード

前言
先週見ました.あなたがずっと使っているSpring Boot Startersとはどういうことですか?https://www.cnblogs.com/fengzheng/p/10947585.html)
 
やっとすべての知識を結びつけたような気がします.まだおぼろげなところがあるかもしれませんが、真実は目の前にあります.いつでも時間が経つだけです.
スターター
始まる前に、私達はspring boot starterとは何かを理解したいです.
 
実際にstarterはどれぐらいの機能コードを含んでいません.私達はそれを一つの「接続パッケージ」と理解できます.
それはまず一つのカバンです.一つのセットは必要な他の機能コンポーネントを網羅して自分のpomファイルに入れます.
そして、それは連結です.それを導入した部品と私達のプロジェクトを連結して、複雑な構成を省きます.一番簡単に使うようにしてください.
 
たとえばmybatis-spring-boot-starter、彼はmybatisのパッケージです.
druid-spring-boot-starterはdruidのパッケージです.
Startersの原理
名前:
つまり、私たちはそれを使う時に、pomで引用したアーティファクトIdです.命名にはルールがあり、公式規定:
公式のstarterの命名フォーマットはspring-boot-starter-{name}例えば上に述べたspring-book-starter-actuatです.
公式ではないstarterの命名形式は{name}-spring-boot-starterです.
Spring.factores
resource/META-INFディレクトリでspring.factoresという名前のファイルを作成しましたが、なぜここにありますか?Spring Bootが起動すると、クラスパスの下でspring.factoresという名前のファイルを探して、中の配置で指定された自動ローディングクラスを実行して、指定されたクラス(1つまたは複数)の中の関連beanを初期化します.
例えば、本例の構成情報は、次のようなものである.
org.springframe ebook.atoconfigre.EnbaleAutoConfigration=\
comple.sprigcloud.boot.starter.example.Redis AutoConfigre
等号の前は固定的な書き方で、後は私達がカスタマイズした自動配置類です.複数があれば、英字コンマで区切ってください.
 1 public class RedisAutoConfiguration {
 2  
 3     @Bean
 4     @ConditionalOnMissingBean(name = "redisTemplate")
 5     public RedisTemplate redisTemplate(
 6             RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
 7         RedisTemplate template = new RedisTemplate<>();
 8         template.setConnectionFactory(redisConnectionFactory);
 9         return template;
10     }
11 }
 
Redis Propties
1 @ConfigurationProperties(prefix = "spring.redis")
2 public class RedisProperties {
3  
4     private int database = 0;
5  
6     private String url;
7  
8     private String host = "localhost";
9 }
 
 
ここから、知識の点は基本的にいきなり刺し連ねました.

  • はい、
    spring.factoresにxAutoConfigreを配置します.JavaのSPIを利用して、プロジェクトがスタートするとconfigurをロードします.

  • はい、
    Redis AutoConfigrationにRedis Templateのbeanを注入しました.このbeanはReidsのいくつかの一般的な操作をパッケージ化したものです.(ここではconditionの使い方に注意してください)

  • 最後に書く
    Redis Propertiesはよく使う情報を一つ包装して、propertiesファイルの中で配置することができて、とても便利です.