O Druid é o melhor pool de conexão de banco de dados no idioma java. Comparado com outros pools de conexão de banco de dados, o Druid possui dois principais recursos:
Hoje vou demonstrar druid de integração de inicialização da primavera.
Combate real
1. Adicione dependências maven.
A versão de inicialização da primavera usa o starter 1.x e 2.x da versão druida não a suporta. Mas a personalização é boa.
<!-Starter-web nos facilita a ver o efeito <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.6</version> </dependency>
Configure o Druid
2. Configuração do aplicativo Druid.
server: port: 9011 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver druid: initial-size: 5 max-active: 10 min-idle: 5 max-wait: 60000 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 Validação-Query: Selecione 1 Validação-Fertyout: 60000 Test-on-Borrow: False Test-on-Return: False Test-While-Idle: True Time-Between-Eviction-RUNS-M-MILLIS: 60000 Filtro: STAT: LOG-SLOW-SQL: True DB-Type: MySQL Slow-Millis: 2000-view: Stat-sql: DB-type: Permitir: 127.0.0.1 URL-Pattern:/druid/* Nome de usuário: Raiz Senha: 123456 URL: JDBC: MySQL: //127.0.0.1: 3306/teste?
A configuração do Javabean é mais flexível e a configuramos através do Javabean.
@ConfigurationPublic Classe druidConfig {@Bean public jdbcTemplate jdbcTemplate () {return new jdbctemplate (druiddataSource ()); } // ConfigurationProperties pode injetar diretamente o valor que inicia a propriedade spring.datasource.druid da configuração do aplicativo em druiddataSource @configurationproperties (prefix = "spring.dataSource.druid") @Bean (initmethod = "init",, de destruição "") DruiddataSource druiddataSource = new DruidDataSource (); // Adicione o filtro de monitoramento do Druid. Atualmente, apenas a função de monitoramento é demonstrada. Portanto, existe apenas um filtro, que pode implementar vários filtros. LinkedList <filter> filtersList = new LinkedList (); filterslist.add (filtro ()); druiddatasource.setProxyFilters (FiltersList); retornar druiddatasource; } @Bean public filter () {statfilter statFilter = new statfilter (); // O tempo de execução do SQL excede o 2S como é o LOG LOG STATFILTER.SETSLOWSQLMILLIS (2000); // Mostrar log lento statfilter.setLogSlowsQL (true); // Mergesql, às vezes muitos dos mesmos logs lentos afetam a leitura, ative a função Merge StatFilter.SetMergesql (true); retornar statfilter; } // Painel de monitoramento @Bean Public ServletRegistrationBean ServletRegistrationBean () {// Registre seu próprio sevlet Return New ServletRegistrationBean (new StatViewServlet (), "/druid/*"); }} 3. Crie novo SQL para executar testes
Use o JDBCTELATE para selecionar dados no banco de dados, estamos apenas demonstrando o efeito de monitoramento do druid.
@RestController@SpringBootApplicationPublic Classe DaoApplication {public static void main (String [] args) {springapplication.run (daoapplication.class, args); } @AUTOWIRED JDBCTEMPLATE JDBCTemplate; @RequestMapping ("/test") public list test () {Final List <Teger> iDList = new LinkedList <Teger> (); jdbcTemplate.Query ("Selecione * de sh_test1", new RowCallbackHandler () {@Override public void Processrow (ResultSet Rs) lança sqLexception {idlist.add (rs.getInt (1));}}); retornar idlist; }}Execute para ver o efeito
5. A demonstração é concluída
Neste ponto, o Druid já pode ser usado na inicialização da primavera. O Druid fornece muitas opções de monitoramento. O artigo é limitado em comprimento. Só vou apresentar o uso do Druid integrar a inicialização da mola.
afinal
Este artigo demonstra o uso do Druid no Springboot. Para o uso do Druid, consulte a referência abaixo.
consulte
[Uso comum do druid] (https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%E%E9%A2%98)
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.