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ファイルに依存管理を導入
2.pom.xmlファイルに使用したいstartersを導入します.
3.プロジェクトのプロファイルでstartersを構成するために必要な関連構成プロパティ swagger-spring-boot-starter tkmapper-spring-boot-starter druidデータソース構成
tkmapper構成、デフォルト構成なし entityおよびmapperパッケージを自動的にスキャンします.スキャンパスはspringbootのデフォルトパスと一致します. スキャン 自動登録 qiniu-spring-boot-starter alimq-spring-boot-starter dubbo-spring-boot-starter
使用法 aoplog-spring-boot-starter構成 なし error-spring-boot-starter は構成されていません は、デフォルトのグローバル例外プロセッサ を提供する.
alimns-spring-boot-starter redisclient-spring-boot-starter
自動構成例の除外
プライマリ・バージョン
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:
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
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構成、デフォルト構成なし
@Mapper
com.springboot.boot.tkmapper.mapper.BaseMapper
ベースインタフェース 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
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:#dubbo zookeeper
zk:
registry: ip:port # zookeeper
使用法
@Configuration
@EnableDubboProvider
@EnableDubboConsumer
public class DubboConfig{ }
com.springboot.boot.error.exception.ExceptionHandlerAutoConfiguration$DefaultGlobalExceptionHandler
mns:
access-id: xxx
access-key: xxx
account-endpoint: xxx
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); } }