概要
actuator是一个监控和度量springboot工具,让我们更好的了解springboot.
前言
初学者对springboot自动配置感觉很强大,同样也有些疑惑.比如我知道了spring+mybatis的配置,比如需要配置datasource和SqlSessionFactory等等,但是在springboot集成mybatis时,只是简单的配置了属性,就实现了集成,根本不需要配置datasource和SqlSessionFactory.那么它又是如何实现自动配置的呢?这时候actuator就可以派上用场了.
使用
配置actuator很简单
<!-- Spring Boot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Test 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot}</version>
</dependency>
<!-- MySQL 连接驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector}</version>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
这是springboot集成mybatis,最后的依赖就是actuator.
加入依赖之后其实就可以启动程序访问/info和/health接口了,这是actuator默认开放的,其他接口需要另外配置,我在application.properties中实现配置.
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/springbootdb?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## Mybatis 配置
mybatis.typeAliasesPackage=org.spring.springboot.domain
mybatis.mapperLocations=classpath:mapper/*.xml
#防止访问actuator接口401问题(很关键)
management.security.enabled=false
#actuator配置
endpoints.enabled=true
endpoints.info.sensitive=false
endpoints.health.sensitive=false
management.context-path=/
management.port=8081
这是简单的配置,只为查看mybatis的问题.管理接口设定为8081.
这样就可以查看接口了,我的目标是/autoconfig接口.
自动配置报告.png
返回的json中可以看出springboot自动配置了SqlSessionFactory和SqlSessionTemplate了并且用condition注解的方式判断是否需要自动配置.
actuator的功能还有很多,就不一一说明了.
网友评论