当前位置: 首页 > news >正文

长宁区网站建设公广州优化疫情防控措施

长宁区网站建设公,广州优化疫情防控措施,模板做的网站如何下载,怎样做安居客网站目录 1.什么是Druid 2.主要优点和原因 3.误区 4.Part代码 0.pom 1.Spring.datasource.type: com.alibaba.druid.pool.DruidDataSource 2.Druid用Jasypt加密任意内容 EnableEncryptableProperties开启加密注解 3.Druid监控平台 1.什么是Druid Druid 是一个开源的数据库…

目录

1.什么是Druid

2.主要优点和原因

3.误区

4.Part代码

0.pom

1.Spring.datasource.type: com.alibaba.druid.pool.DruidDataSource

2.Druid用Jasypt加密任意内容

@EnableEncryptableProperties开启加密注解

3.Druid监控平台


1.什么是Druid

Druid 是一个开源的数据库连接池和监控库,主要用于连接和管理数据库连接。它的设计目标是提供高性能、高可用性、高度可管理性的数据库连接池,适用于各种Java应用程序,特别是那些需要频繁与数据库交互的应用,如Web应用、大数据处理等。

2.主要优点和原因

  1. 连接池管理 Druid 提供了强大的连接池管理功能,可以有效地管理数据库连接的创建、销毁、复用和监控,以减少数据库连接的开销和资源浪费。

  2. 性能优化: Druid 在连接池和 SQL 执行层面进行了性能优化,包括支持预编译语句、自动识别并关闭空闲连接、连接泄漏检测等功能,以提高应用程序的性能。

  3. 监控和统计 Druid 提供了详细的监控和统计信息,包括连接池的状态、SQL执行性能、慢查询日志等,帮助开发人员和运维人员更好地理解应用的数据库访问情况,及时发现性能问题。

  4. 安全性: Druid 支持 IP 白名单、SQL 防火墙等安全功能,可以保护数据库免受恶意攻击。

  5. 适用性广泛: Druid 不仅支持 JDBC,还支持类似Spring JDBC、MyBatis、Hibernate等框架,因此适用于各种Java应用程序。

  6. 开源和活跃的社区: Druid 是开源项目,拥有活跃的社区支持,可以获得及时的更新和 bug 修复。

  7. 可扩展性: Druid 具有可扩展性,可以根据具体需求进行定制和扩展,以满足特定应用场景的要求。

总之,使用 Druid 数据库连接池的主要目的是提高数据库访问的性能、可管理性和安全性,同时提供了丰富的监控和统计信息,有助于更好地管理和维护数据库连接。当你的应用需要频繁与数据库交互时,使用 Druid 可能会显著提高应用程序的性能和可维护性。

3.误区

Druid本身不提供SQL优化功能,SQL优化通常需要依赖于数据库引擎或其他专门的SQL优化工具。可以在使用Druid连接池的应用中采取一些措施来优化SQL查询的性能;

4.Part代码

JDBC默认的DataSource实现是BasicDataSourceBasicDataSource是一个开源的、基本的DataSource实现,用于创建和管理数据库连接池。

因为使用连接池可以显著提高数据库连接的性能和资源利用率,减少连接的创建和销毁开销。

0.pom

<!--jasypt坐标-->
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.0</version>
</dependency><!--druid坐标-->
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version>
</dependency>

1.Spring.datasource.type: com.alibaba.druid.pool.DruidDataSource

System.out.println(dataSource.getClass());
System.out.println(dataSource.getConnection());

class com.alibaba.druid.pool.DruidDataSource
com.mysql.cj.jdbc.ConnectionImpl@32d5279

 可以看到数据源已经成功切换

2.Druid用Jasypt加密任意内容

生成密码的密文代码

@Test
void show1(){StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();EnvironmentPBEConfig config = new EnvironmentPBEConfig();// 加密的算法,这个算法是默认的config.setAlgorithm("PBEWithMD5AndDES");// 加密的密钥,随便自己填写,很重要千万不要告诉别人config.setPassword("apesource");standardPBEStringEncryptor.setConfig(config);//自己的密码String plainText = "xxx";String encryptedText = standardPBEStringEncryptor.encrypt(plainText);System.out.println(encryptedText);}

 使密文生效我们使用了ENC函数,并将混淆字符串的配置放到了yml当中

jasypt:encryptor:password: apesource

yml当中的格式

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myUsername
spring.datasource.password=ENC(密文)

@EnableEncryptableProperties开启加密注解

3.Druid监控平台

yml当中

filters: stat,wall

在Config配置类当中

  2.配置servlet@Beanpublic ServletRegistrationBean registrationBean(){//1.创建servlet注册类ServletRegistrationBean<StatViewServlet>  servletRegistrationBean =  new ServletRegistrationBean<StatViewServlet>();//2.创建制作页面的servletStatViewServlet statViewServlet = new StatViewServlet();//3.绑定servletservletRegistrationBean.setServlet(statViewServlet);servletRegistrationBean.setUrlMappings(Arrays.asList("/druid/*"));//4.参数绑定Map<String,String> maps = new HashMap<String,String>();maps.put(StatViewServlet.PARAM_NAME_USERNAME,"admin");maps.put(StatViewServlet.PARAM_NAME_PASSWORD,"123");maps.put(StatViewServlet.PARAM_NAME_ALLOW,"");//白名单maps.put(StatViewServlet.PARAM_NAME_DENY,"192.168.0.12");//黑名单servletRegistrationBean.setInitParameters(maps);return servletRegistrationBean;}//3.配置filter@Beanpublic FilterRegistrationBean filterRegistrationBean(){FilterRegistrationBean<WebStatFilter> bean = new FilterRegistrationBean<WebStatFilter>();bean.setFilter(new WebStatFilter());//所有请求进行监控处理bean.setUrlPatterns(Arrays.asList("/*"));Map<String, String> initPrams = new HashMap<>();//添加不需要忽略的格式信息initPrams.put(WebStatFilter.PARAM_NAME_EXCLUSIONS, "*.js,*.css,/druid/*");bean.setInitParameters(initPrams);return bean;}

拦截器和过滤器用到了servlet,所以要注册servlet

拦截器主要拦截以/druid/开头的

最后使用localhost://8080/就可以访问监控平台。

http://www.hkea.cn/news/105135/

相关文章:

  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司
  • 服务器托管是啥搜索引擎优化排名培训
  • 山西手机网站建设网址大全123
  • b2c平台有哪些平台网址新区seo整站优化公司
  • WordPress突然全站404网站如何添加友情链接
  • 复制别人网站做第一站seo短视频网页入口引流下载
  • 基层建设论文收录在哪个网站百度统计api
  • 购买主机可以做网站吗楚雄今日头条新闻
  • 深圳专业网站建设公司哪家好宁波网络营销公司
  • ps做电商网站流程图百度图片识别搜索引擎
  • 做电影网站程序好用武汉网站建设推广公司
  • 如何做b2c网站下列关于友情链接说法正确的是
  • 网站开发中网页上传seo在线网站推广