Это 25-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
предисловие
Druid Spring Boot Starter помогает легко интегрировать пул соединений с базой данных Druid и мониторинг в ваш проект Spring Boot. В этой статье мы интегрируем Druid с Spring Boot для мониторинга источников данных.
Первое знакомство с Друидом
Druid — это компонент приложения JDBC с открытым исходным кодом от Alibaba, который включает три части: прокси-драйвер DruidDriver, который может предоставлять подключаемую систему на основе режима Filter-Chain; DruidDataSource Эффективный и управляемый пул соединений с базой данных; SQLParser анализ синтаксиса SQL; Druid — лучший пул соединений с базой данных на языке Java. Druid предоставляет мощные возможности мониторинга и масштабирования.
Скачать Друид
DRUID - это проект с открытым исходным кодом, исходный код размещен на GitHub, адрес репозитория исходного кодаGitHub.com/alibaba/import….同时每次Druid发布正式版本和快照的时候,都会把源码打包,你可以从上面的下载地址中找到相关版本的源码。
DruidDataSource поддерживает базы данных
Теоретически поддерживаются все базы данных на основе JDBC. на самом деле протестировали
база данных | Статус поддержки |
---|---|
mysql | поддержка, массовое использование |
oracle | поддержка, массовое использование |
sqlserver | служба поддержки |
postgres | служба поддержки |
db2 | служба поддержки |
h2 | служба поддержки |
derby | служба поддержки |
sqlite | служба поддержки |
sybase | служба поддержки |
Druid автоматически распознает драйвер
Друид идентифицируется в соответствии с префиксом URL-адреса DriverClass, так что конфигурация более проста и удобна.
Префикс | DriverCLass | Описание |
---|---|---|
jdbc:odps | com.aliyun.odps.jdbc.OdpsDriver | |
jdbc:derby | org.apache.derby.jdbc.EmbeddedDriver | |
jdbc:mysql | com.mysql.jdbc.Driver | |
jdbc:oracle | oracle.jdbc.driver.OracleDriver | |
jdbc:microsoft | com.microsoft.jdbc.sqlserver.SQLServerDriver | |
jdbc:sybase:Tds | com.sybase.jdbc2.jdbc.SybDriver | |
jdbc:jtds | net.sourceforge.jtds.jdbc.Driver | |
jdbc:postgresql | org.postgresql.Driver | |
jdbc:fake | com.alibaba.druid.mock.MockDriver | |
jdbc:mock | com.alibaba.druid.mock.MockDriver | |
jdbc:hsqldb | org.hsqldb.jdbcDriver | |
jdbc:db2 | com.ibm.db2.jdbc.app.DB2Driver | Драйвер JDBC DB2 очень сбивает с толку, это совпадение не обязательно правильное |
jdbc:sqlite | org.sqlite.JDBC | |
jdbc:ingres | com.ingres.jdbc.IngresDriver | |
jdbc:h2 | org.h2.Driver | |
jdbc:mckoi | com.mckoi.JDBCDriver | |
jdbc:cloudscape | com.cloudscape.core.JDBCDriver | |
jdbc:informix-sqli | com.informix.jdbc.IfxDriver | |
jdbc:timesten | com.timesten.jdbc.TimesTenDriver | |
jdbc:as400 | com.ibm.as400.access.AS400JDBCDriver | |
jdbc:sapdb | com.sap.dbtech.jdbc.DriverSapDB | |
jdbc:JSQLConnect | com.jnetdirect.jsql.JSQLDriver | |
jdbc:JTurbo | com.newatlanta.jturbo.driver.Driver | |
jdbc:firebirdsql | org.firebirdsql.jdbc.FBDriver | |
jdbc:interbase | interbase.interclient.Driver | |
jdbc:pointbase | com.pointbase.jdbc.jdbcUniversalDriver | |
jdbc:edbc | ca.edbc.jdbc.EdbcDriver | |
jdbc:mimer:multi1 | com.mimer.jdbc.Driver |
быстрый старт
добавить зависимости
Druid 0.1.18 и более поздние версии выпускаются в центральном репозитории maven, поэтому вам нужно только добавить зависимость в pom.xml проекта.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.11</version>
</dependency>
Основное использование зависимости — это зависимости от Druid, другие зависят от mysql и mybatis. Удобно для подключения базы данных.
Настроить DruidMoniterConfig
Настройка мониторинга и управления друидным мониторингом, в основном для мониторинга и управления веб-концом может просмотреть информацию. Основная информация о конфигурации для имени пользователя, имени пользователя, пароль, разрешение доступа к разрешению доступа к черному списку IP и другой информации. Затем вам нужно настроить фильтр веб-мониторинга, фильтровать статические файлы
/**
* @ClassName DruidMoniterConfig
* @Description: DruidMoniterConfig
* @Author JavaZhan @公众号:Java全栈架构师
* @Date 2020/6/13
* @Version V1.0
**/
@Configuration
public class DruidMoniterConfig{
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParams = new HashMap<>();
initParams.put("loginUsername","admin");
initParams.put("loginPassword","admin");
initParams.put("allow","");
initParams.put("deny","192.168.127.98");
bean.setInitParameters(initParams);
return bean;
}
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
Map<String,String> initParams = new HashMap<>();
initParams.put("exclusions","*.js,*.css,/druid/*");
bean.setInitParameters(initParams);
bean.setUrlPatterns(Arrays.asList("/*"));
return bean;
}
}
Основная информация о конфигурации
Файл конфигурации в основном включает URL-адрес источника данных, имя пользователя базы данных, пароль базы данных, класс драйвера и другую информацию о конфигурации, связанную с источником данных.
server.port=8888
# mysql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=test
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
mybatis.mapper-locations=classpath*:mapper/**/*.xml
стартовый класс
/**
* @ClassName DemoMyBatisApplication
* @Description: DemoMyBatisApplication
* @Author JavaZhan @公众号:Java全栈架构师
* @Date 2020/6/13
* @Version V1.0
**/
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoMyBatisApplication {
public static void main(String[] args) {
SpringApplication.run(DemoMyBatisApplication.class, args);
}
}
страница монитора
После запуска проекта введите в браузереHttp://127.0.0.1:8888/druid/, автоматический переход на страницу http://127.0.0.1:8888/druid/login.html, необходимо ввести имя пользователя и пароль После ввода имени пользователя и пароля войдите на страницу мониторинга, информация о странице следующая:В основном включает в себя: источник данных, мониторинг SQL, брандмауэр SQL, веб-приложение, мониторинг URI, мониторинг сеансов, мониторинг Spring, JSON API и другую информацию. Что ж, встроенный в Spring Boot мониторинг данных Druid завершен.
Эпилог
Spring Boot объединяет мониторинг Druid Data Monitoring, что удобно для анализа информации о данных соединения базы данных и мониторинга SQL, которые являются всеми базовыми учебниками. Более глубокая конфигурация будет объяснена в будущих учебных пособиях.
Представление автора: [Маленький Аджи] Программист, который любит возиться, разработчик JAVA и энтузиаст. Ведущий официального аккаунта [Java Full Stack Architect], добро пожаловать на чтение и общение.
Хорошо, спасибо за прочтение, надеюсь, вам понравилось, если вам было полезно, ставьте лайк и подписывайтесь. Если есть какие-либо несоответствия, добро пожаловать в комментарии. Увидимся в следующий раз.