Sping Boot入門から実戦までの実戦編(二):よく使われる機能のSpring Boot Starters

12897 ワード

組み込み機能
  • アリクラウドメッセージサービスMNS
  • アリクラウドメッセージキューサービス(インスタントメッセージ、遅延メッセージ、トランザクションメッセージ)
  • AOPログ
  • MyBatis汎用MapperおよびDRUIDベースのデータベースアクセス
  • dubboは
  • をサポート
  • エラー処理
  • 七牛ピクチャーサービス
  • redisマルチコネクションプールは
  • をサポートする.
  • swagger構成
  • ドメイン間構成
  • ソースアドレス:https://github.com/ronwxy/base-spring-boot(役に立つと思ったらstarを手伝ってください)
    プライマリ・バージョン
  • springboot 1.5.13.RELEASE
  • spring 4.3.17.RELEASE

  • 1.pom.xmlファイルに依存管理を導入
    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.springboot.basegroupId>
                    <artifactId>spring-boot-dependenciesartifactId> <version>1.2-SNAPSHOTversion> <scope>importscope> <type>pomtype> dependency> dependencies> dependencyManagement>

    2.pom.xmlファイルに使用したいstartersを導入します.
    <dependency>
                <groupId>com.springboot.basegroupId>
                <artifactId>swagger-spring-boot-starterartifactId>
    dependency>

    3.プロジェクトのプロファイルでstartersを構成するために必要な関連構成プロパティ
  • swagger-spring-boot-starter
  •     swagger:
            api-description: demo for swagger api use swagger starters #api     ${spring.application.name}
            api-title: demo #api     ${spring.application.name} apis-base-package: com.example.demo.api #            group-name: demo #     ${spring.application.name} swagger-registry-path: http://{swaggerServerIp:port}/swagger/register #swaggerapi       
  • tkmapper-spring-boot-starter druidデータソース構成
  •     spring:
            datasource:
                druid:
                    driver-class-name: org.postgresql.Driver
                    url: jdbc:postgresql://{dbServerIp:port}/db_name?charSet=UTF-8 username: dbUsername password: dbPassword #       initialSize: 2 #       minIdle: 1 #      maxActive: 5 #      druidServletSettings: allow: 127.0.0.1 deny: loginUsername: admin loginPassword: Passw0rd resetEnable: true druidFilterSettings: exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' maxWait: 60000 #               timeBetweenEvictionRunsMillis: 60000 #              ,           ,      minEvictableIdleTimeMillis: 300000 #                 ,      validationQuery: SELECT 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true #   PSCache,         PSCache    maxPoolPreparedStatementPerConnectionSize: 20 filters: stat #,wall(  wall         sql,druid sql    ) #          filters,       sql    ,'wall'      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #   connectProperties     mergeSql  ; SQL   useGlobalDataSourceStat: true #     DruidDataSource     

    tkmapper構成、デフォルト構成なし
  • entityおよびmapperパッケージを自動的にスキャンします.スキャンパスはspringbootのデフォルトパスと一致します.
  • スキャン@Mapper
  • 自動登録com.springboot.boot.tkmapper.mapper.BaseMapperベースインタフェース
  • qiniu-spring-boot-starter
  •     qiniu:
            access-key: xxx
            secret-key: xxx #   buckets: - bucket-name: xxx #   bucket-host: xxx #    scheme: http #   bucket-private: true #       pipeline: imageThumbQueue #    token-expired-time: 3600 #token     
  • alimq-spring-boot-starter
  •     aliyun:
          mq:
            onsAddr: http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet #mq   topic: xxx #     accessKey: xxx #key secretKey: xxx #   producer: #      enabled: true #        producerId: xxx #   ID consumer: #      enabled: true #        consumerId: xxx #   ID tag-suffix: xxx #      ,           tag
  • dubbo-spring-boot-starter
  •     dubbo:#dubbo zookeeper      
            zk:
              registry: ip:port #    zookeeper  

    使用法
    @Configuration
    @EnableDubboProvider
    @EnableDubboConsumer
    public class DubboConfig{ }
  • aoplog-spring-boot-starter構成
  • なし
  • error-spring-boot-starter
  • は構成されていません
  • は、デフォルトのグローバル例外プロセッサcom.springboot.boot.error.exception.ExceptionHandlerAutoConfiguration$DefaultGlobalExceptionHandler
  • を提供する.
  • alimns-spring-boot-starter
  •    mns:
         access-id: xxx
         access-key: xxx
         account-endpoint: xxx
  • redisclient-spring-boot-starter
  •     spring:
          redis:
            host: ip
            database: 1 redis: clients: db1: host: ip database: 2 clients-enabled: true #         
        @Configuration
        @RedisClient("db1")//                   public class ConfigClass{ @Bean public RedisTokenStore getRedisTokenStore(RedisClientFactory factory){ //  db1     RedisConnectionFactory connectionFactory = factory.getInstance("db1",RedisConnectionFactory.class); return new RedisTokenStore(connectionFactory); } }

    自動構成例の除外
        @SpringBootApplication(exclude = Swagger2AutoConfiguration.class)
        public class TestApplication { public static void main(String[] args) { new SpringApplicationBuilder(TestApplication.class).run(args); } }