Druid es una implementación de un grupo de conexión de base de datos en la plataforma de código abierto de Alibaba. Combina las ventajas de las piscinas de DB como C3P0, DBCP, Proxool, y también agrega monitoreo de registro, que puede monitorear las conexiones de los grupos de DB y la ejecución de SQL bien. Se puede decir que es un grupo de conexión DB creado para el monitoreo (se dice que es el mejor grupo de conexión en la actualidad)
1. Dependencia
Para las pruebas, use JDBCTemplate
< <Versión> 1.0.26 </versión> </pendency> <!-MySQL Connector-> <Spendency> <MoupROD> MySQL </proupid> <artifactId> mysql-connector-java </artifactId> <cope> runtime </cope> </pendency>
2. Configuración de druidas
Druid.Properties#Configuración de la base de datos spring.dataSource.DrivClassName = com.mysql.jdbc.driverspring.dataSource.url = jdbc: mysql: // localhost: 3306/uu_core? UseUnicode = true & caractering = utf8 & auth oreConnect = true & Usessl = truespring.datasource.username = rootspring.datasource.password = root#------------------------------------------------------------------ ----------------------------------------------------------------------------------------------- Inicializar tamaño, mínimo, spring máximo.dataSource.initialSize = 5spring.dataSource.minidle = 1Spring.datasource.maxactive = 50# Configure el tiempo para obtener la conexión que espera el tiempo de espera de la conexión. spring.dataSource.timeBetweenEvictionRunsMillis = 60000# Configure el tiempo mínimo para sobrevivir en la piscina, en MilliseConds Spring.datasource.MinevictableDetimemillis = 300000Spring.Datasource.ValidationQuery = Seleccionar 1 de Dualspring.datasource.test whelliidle = truespring.dataSource.testonBorrow = falspring.dataSource.testonreturn = false# abre pscache y especifica el tamaño de pScEnte en cada conexión Spring.dataSource.PoolPreparedStatements = False# Spring.dataSource.MaxPoolPreparedstatementatize Filtros para el monitoreo de estadísticas interceptadas. Después de eliminarlo, la interfaz de monitoreo SQL no se puede contar. 'Wall' se usa para Firewall Spring.datasource.filters = stat, wall, log4j# abrir la función mergesql a través de la propiedad ConnectProperties; Registros SQL lentos Spring.Datasource.ConnectionProperties = druid.stat.mergesql = true; druid.stat.slowsqlmillis = 5000# fusionar datos de monitoreo de múltiples druiddatasource# spring.datasource.usglobaldatasurcestat = true true = true
3. Instanciar el DataSource de Druid
paquete 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 orge.springframework.contetatation.Bean; org.springframework.context.annotation.configuration; import org.springframework.context.annotation.propertySource; import javax.sql.dataSource;/** * @author zh * @classname cn.aduu.config.druidconfiguration * @Description */ @con configuration @secureation @overaeurce (ovaltee "classpath: druid.properties") public class DruidConfiguration {@Bean (destruyeMethod = "Close", initMethod = "init") @configurationProperties (prefix = "spring.dataSource") public dataSource DruiddataSeurce () {DruidDatasource DruiddataTataTatoRce = niewdataurceeurce () () devolver druiddataSource; } /** * Registre un statviewservlet * @return * /@bean público servletregistrationbean druidstatviewservlet () {//org.springframework.boot.context.embedded.servletregistrationBean proporciona la clase para el registro. ServletregistrationBean servletregistrationBean = new ServletregistrationBean (new StatViewServlet (), "/Druid/*"); // Agregar parámetros de inicialización: InitParams // Whitelist: ServletregistrationBean.addinitParameter ("Permitir", "127.0.0.1"); // Lista negra de IP (cuando hay una comunidad, negar con prioridad sobre permitirse): Si el negar está satisfecho, rápido: Lo siento, no puede ver esta página. servletregistrationbean.addinitparameter ("negar", "192.168.1.73"); // Iniciar sesión la contraseña de la cuenta para ver la información. servletregistrationBean.addinitParameter ("loginusername", "admin"); servletregistrationBean.addinitParameter ("LoginPassword", "123456"); // ¿Es posible restablecer los datos? servletregistrationBean.addinitParameter ("resetenible", "falso"); regreso servletregistrationbean; } / ** * Registre uno: FilterRegistrationBean * @return * / @Bean Public FilterRegistrationBean DruidStatFilter () {FilterRegistrationBean FilterRegistrationBean = new FilterRegistrationBean (new WebStatFilter ()); // Agregar reglas de filtro. filterregistrationbean.addurlpatterns ("/*"); // Agregar información de formato que no necesita ser ignorada. filterregistrationBean.addinitParameter ("exclusiones", "*. js,*. gif,*. jpg,*. png,*. css,*. ico,/druid/*"); return filtreRregistrationBean; }}4. Monitoreo
Visite http: // localhost: 8080/druid y use la contraseña de cuenta configurada anteriormente.
V. Prueba
@RestControllerPublic Class HELOCONTROLLER {private static final logger = loggerFactory.getLogger (hellocontroller.class); @AUTOWIREDIRED JDBCTEMPLATE JDBCTEMPLATE; @RequestMapping ("Hello") Lista pública <map <string, object >> hello () {list <map <string, object >> list = jdbctemplate.queryForList ("Seleccione el usuario, contraseña de mysql.user", nuevo objeto [] {}); lista de devolución; }}Visite Localhost: 8080/Hola
[{"usuario": "root", "contraseña": "*81f5e21e35407d884a6cd4a731aebfb6af209e1b"}, {"user": "root", "contraseña": "*81f5e21e35407d884a6cd4a731aebfb6af209e1b"] Resumir
Lo anterior es la fuente de datos SpringBoot introducida por el editor para usted. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!