Druid는 Alibaba의 오픈 소스 플랫폼에서 데이터베이스 연결 풀을 구현 한 것입니다. C3P0, DBCP, Proxool과 같은 DB 풀의 장점을 결합하고 로그 모니터링을 추가하여 DB 풀 및 SQL 실행을 잘 모니터링 할 수 있습니다. 모니터링을 위해 생성 된 DB 연결 풀이라고 할 수 있습니다 (현재 최고의 연결 풀이라고합니다).
1. 의존성
테스트하려면 jdbctemplate을 사용하십시오
<!-jdbctemplate-> <pectionency> <groupId> org.springframework.boot </groupid> <artifactid> Spring-Boot-Starter-jdbc </artifactid> </fexendency> <!-druid database connection pool-> <groupid> com.alibaba </groupid> <artifactid> druid> druicd> <버전> 1.0.26 </version> </fectionency> <!-MySQL 커넥터-> <pectionement> <groupId> mySQL </groupId> <atifactid> mySQL-Connector-java </artifactid> <Scope> runtime </scope> </dependency>
2. 드루이드 구성
druid.properties#데이터베이스 설정 spring.datasource.driverclassname = com.mysql.jdbc.driverspring.datasource.url = jdbc : mysql : // localhost : 3306/uu_core? useunicode = true & characterencoding = utf8 & aut ORECONNECT = true & usessl = truespring.datasource.username = rootspring.datasource.password = root#------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 초기화 크기, 최소, 최대 스프링 .datasource.initialSize = 5Spring.datasource.MinIdle = 1Spring.datasource.maxActive = 50# 연결 대기 시간을 얻기 위해 시간을 구성합니다. 밀리 초 dualspring.datasource.testshileIdle = truespring.datasource.testonborring = falspring.datasource.testonReturn = false# 열린 pscache를 열고 각 연결에서 pscache 크기를 지정하고 datasource.poolpreparedstatements = false.datasource.datasource.datasource.datasource.datasource.datasource.datasource.datasource.datasource의 크기를 지정합니다. 인터셉트 된 통계 모니터링 필터를 구성합니다. 제거 후 모니터링 인터페이스 SQL을 계산할 수 없습니다. '벽'은 방화벽 스프링에 사용됩니다. Datasource.filters = STAT, WALL, LOG4J# ConnectProperties 속성을 통한 MERGESQL OPEN OPEN MERGESQL 기능; 느린 SQL 레코드 스프링 스프링 .datasource.connectionProperties = druid.stat.mergesql = true; druid.stat.slowsqlmillis = 5000# 여러 druiddatasource의 모니터링 데이터를 merge. datasource.useglobaldatasourcestat = true.
3. 드루이드 데이터 소스 인스턴스
패키지 cn.aduu.config; import com.alibaba.druid.pool.druiddatasource; import com.alibaba.druid.support.http.statviewservlet; import com.alibaba.druid.support.http.webstatfilter; import org.springframework.boot.context.properties.configurationProperties; import org.springframework.boot.web.servlet.filterregistrationbean; import org.springframework.boot.web.servlet.servletregistrationbean; import org.spring org.springframework.context.annotation.configuration; import org.springframework.context.annotation.propertysource; import javax.sql.datasource;/** * @author zh * @classname cn.aduu.config.druidconpiguration */@desportion */@description "classpath : druid.properties") public class druidconfiguration {@bean (destroymethod = "close", initmethod = "init") @configurationProperties (prefix = "spring.datasource") public dataSource druiddatasource () {druiddatoucce (druiddatoucce); Druiddatasource의 반환; } /** * StatViewServlet * @return * /@Bean Public ServletregistrationBean DruidStatViewServlet () {//org.sprameframework.context.embedded.servletregistrationBean은 등록을위한 클래스를 제공합니다. servletregistrationbean servletregistrationbean = new servletregistrationbean (new statviewservlet (), "/druid/*"); // 초기화 매개 변수 추가 : initParams // Whitelist : ServletregistrationBean.AdDinitParameter ( "allow", "127.0.0.1"); // IP 블랙리스트 (공통성이 있으면 거부가 허용보다 우선합니다) : 거부가 만족되면 프롬프트 : 죄송합니다.이 페이지를 볼 수 없습니다. servletregistrationBean.addinitparameter ( "deny", "192.168.1.73"); // 정보를 보려면 계정 비밀번호를 로그인합니다. servletregistrationBean.addinitparameter ( "loginusername", "admin"); servletregistrationbean.addinitparameter ( "loginpassword", "123456"); // 데이터를 재설정 할 수 있습니까? servletregistrationbean.addinitparameter ( "재설정 가능", "false"); 리턴 servletregistrationbean; } / ** * 레지스터 1 : 필터 등록 비안 * @return * / @bean public filterregistrationbean druidstatfilter () {filtergistrationBean filterregistrationBean = new FilterRegistrationBean (new WebStatFilter ()); // 필터 규칙을 추가합니다. FilterRegistrationBean.AddUrlPatterns ( "/*"); // 무시할 필요가없는 형식 정보를 추가합니다. FilterRegistrationBean.addinitParameter ( "제외", "*. js,*. gif,*. jpg,*. png,*. css,*. ico,/druid/*"); 반환 필터 등록 비안; }}4. 모니터링
http : // localhost : 8080/druid를 방문하여 위에서 구성된 계정 암호를 사용하십시오.
V. 테스트
@RestControllerPublic 클래스 HelloController {Private STATIC Final Logger = LoggerFactory.getLogger (HelloController.class); @autowired 개인 jdbctemplate jdbctemplate; @requestmapping ( "hello") 공개 목록 <map <string, object >> hello () {list <map <string, object >> list = jdbctemplate.queryforlist ( "select user, mysql.user에서 비밀번호", new Object [] {}); 반환 목록; }}LocalHost : 8080/Hello를 방문하십시오
[{ "user": "root", "password": "*81f5e21e35407d884a6cd4a731aebfb6af209e1b"}, { "user": "root", "password": "*81f5e21e35407d884a6cd4a731aebfb6af2091b"}}. 요약
위는 편집기가 귀하에게 소개 한 SpringBoot 데이터 소스입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!