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

甘肃酒泉建设银行网站在腾讯云怎样建设网站

甘肃酒泉建设银行网站,在腾讯云怎样建设网站,php网站开发软件语言,做网站竞价是什么意思在项目中#xff0c;数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中#xff0c;主要是 Druid #xff0c;为监控而生的数据库连接池。HikariCP #xff0c;号称性能最好的数据库连接池。 在Spring Boot 2.X 版本#xff0c;默认采用 HikariCP 连接池。而…在项目中数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中主要是 Druid 为监控而生的数据库连接池。HikariCP 号称性能最好的数据库连接池。 在Spring Boot 2.X 版本默认采用 HikariCP 连接池。而阿里大规模采用 Druid 。下面介绍在SpringBoot中使用HikariCP、Druid连接池。 1、HikariCP数据库连接池 1.1 HikariCP单数据源配置 1.1.1 pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.3.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentmodelVersion4.0.0/modelVersionartifactIdHikariCP-Boot/artifactIddependencies!-- 实现对数据库连接池的自动化配置 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.48/version/dependency!-- 写单元测试 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/project无需主动引入 HikariCP 的依赖。因为在 Spring Boot 2.X 中spring-boot-starter-jdbc 默认引入 com.zaxxer.HikariCP 依赖。 1.1.2 yml配置 server:port: 7890spring:# datasource 数据源配置内容对应 DataSourceProperties 配置属性类datasource:url: jdbc:mysql://127.0.0.1:3306/test?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: root # 数据库账号password: root # 数据库密码# HikariCP 自定义配置对应 HikariConfig 配置属性类hikari:minimum-idle: 10 # 池中维护的最小空闲连接数默认为 10 个。maximum-pool-size: 10 # 池中最大连接数包括闲置和使用中的连接默认为 10 个。在 spring.datasource 配置项下我们可以添加数据源的通用配置。在 spring.datasource.hikari 配置项下我们可以添加 HikariCP 连接池的自定义配置。然后 DataSourceConfiguration.Hikari会自动化配置 HikariCP 连接池。 1.1.3 主启动类 package com.yyds;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException;SpringBootApplication public class ApplicationBak implements CommandLineRunner {private Logger logger LoggerFactory.getLogger(ApplicationBak.class);Autowiredprivate DataSource dataSource;public static void main(String[] args) {// 启动 Spring Boot 应用SpringApplication.run(ApplicationBak.class, args);}Overridepublic void run(String... args) {try (Connection conn dataSource.getConnection()) {// 这里可以做点什么logger.info([run][获得连接{}], conn);} catch (SQLException e) {throw new RuntimeException(e);}}}通过实现 CommandLineRunner接口应用启动完成后回调 #run(String... args) 方法输出 Connection 信息。 1.2 HikariCP多数据源配置 1.2.1 pom文件 如1.2.1所示。 1.2.2 yml配置 spring:# datasource 数据源配置内容datasource:# 订单数据源配置orders:url: jdbc:mysql://127.0.0.1:3306/test_orders?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: root# HikariCP 自定义配置对应 HikariConfig 配置属性类hikari:minimum-idle: 20 # 池中维护的最小空闲连接数默认为 10 个。maximum-pool-size: 20 # 池中最大连接数包括闲置和使用中的连接默认为 10 个。# 用户数据源配置users:url: jdbc:mysql://127.0.0.1:3306/test_users?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: root# HikariCP 自定义配置对应 HikariConfig 配置属性类hikari:minimum-idle: 15 # 池中维护的最小空闲连接数默认为 10 个。maximum-pool-size: 15 # 池中最大连接数包括闲置和使用中的连接默认为 10 个。1.2.3 主启动类 package com.yyds;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.annotation.Resource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException;SpringBootApplication public class Application implements CommandLineRunner {private Logger logger LoggerFactory.getLogger(Application.class);Resource(name ordersDataSource)private DataSource ordersDataSource;Resource(name usersDataSource)private DataSource usersDataSource;public static void main(String[] args) {// 启动 Spring Boot 应用SpringApplication.run(Application.class, args);}Overridepublic void run(String... args) {// orders 数据源try (Connection conn ordersDataSource.getConnection()) {// 这里可以做点什么logger.info([run][ordersDataSource 获得连接{}], conn);} catch (SQLException e) {throw new RuntimeException(e);}// users 数据源try (Connection conn usersDataSource.getConnection()) {// 这里可以做点什么logger.info([run][usersDataSource 获得连接{}], conn);} catch (SQLException e) {throw new RuntimeException(e);}}} 1.2.4 配置类 package com.yyds.config;import com.zaxxer.hikari.HikariDataSource; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.util.StringUtils;import javax.sql.DataSource;Configuration public class DataSourceConfig {/*** 创建 orders 数据源的配置对象*/PrimaryBean(name ordersDataSourceProperties)ConfigurationProperties(prefix spring.datasource.orders) // 读取 spring.datasource.orders 配置到 DataSourceProperties 对象public DataSourceProperties ordersDataSourceProperties() {return new DataSourceProperties();}/*** 创建 orders 数据源*/Bean(name ordersDataSource)ConfigurationProperties(prefix spring.datasource.orders.hikari) // 读取 spring.datasource.orders 配置到 HikariDataSource 对象public DataSource ordersDataSource() {// 1.1 获得 DataSourceProperties 对象DataSourceProperties properties this.ordersDataSourceProperties();// 1.2 创建 HikariDataSource 对象return createHikariDataSource(properties);}/*** 创建 users 数据源的配置对象*/Bean(name usersDataSourceProperties)ConfigurationProperties(prefix spring.datasource.users) // 读取 spring.datasource.users 配置到 DataSourceProperties 对象public DataSourceProperties usersDataSourceProperties() {return new DataSourceProperties();}/*** 创建 users 数据源*/Bean(name usersDataSource)ConfigurationProperties(prefix spring.datasource.users.hikari)public DataSource usersDataSource() {// 获得 DataSourceProperties 对象DataSourceProperties properties this.usersDataSourceProperties();// 创建 HikariDataSource 对象return createHikariDataSource(properties);}private static HikariDataSource createHikariDataSource(DataSourceProperties properties) {// 创建 HikariDataSource 对象HikariDataSource dataSource properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();// 设置线程池名if (StringUtils.hasText(properties.getName())) {dataSource.setPoolName(properties.getName());}return dataSource;}}ordersDataSourceProperties()方法创建orders数据源的DataSourceProperties配置对象。 Primary注解保证项目中有一个主的DataSourceProperties Bean。 加上 Bean(name “ordersDataSourceProperties”)注解会创建一个名字位ordersDataSourceProperties的DataSourceProperties Bean ConfigurationProperties(prefix “spring.datasource.orders”)注解会将spring.datasource.orders配置项逐个属性赋值给DataSourceProperties Bean ordersDataSource()方法创建orders数据源。 DataSourceProperties properties this.ordersDataSourceProperties();获取orders数据源的DataSourceProperties配置对象 createHikariDataSource()方法创建HikariDataSource对象这样spring.datasource.orders 配置项逐个属性赋值给 HikariDataSource Bean 。 搭配上 Bean(name ordersDataSource) 注解会创建一个名字为 ordersDataSource 的 HikariDataSource Bean 。 ConfigurationProperties(prefix spring.datasource.orders.hikari) 注解会将 HikariCP 的 spring.datasource.orders.hikari 自定义配置项逐个属性赋值给 HikariDataSource Bean 。 2、Druid数据库连接池 2.1 Druid单数据源配置 2.1.1 pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.3.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentmodelVersion4.0.0/modelVersionartifactIdDruid-Boot/artifactIddependencies!-- 保证 Spring JDBC 的依赖健全 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!-- 实现对 Druid 连接池的自动化配置 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.21/version/dependencydependency groupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.48/version/dependency!-- 实现对 Spring MVC 的自动化配置因为我们需要看看 Druid 的监控功能 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 方便等会写单元测试 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/project2.1.2 yml配置 spring:# datasource 数据源配置内容对应 DataSourceProperties 配置属性类datasource:url: jdbc:mysql://127.0.0.1:3306/test?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: root # 数据库账号password: root # 数据库密码type: com.alibaba.druid.pool.DruidDataSource # 设置类型为 DruidDataSource# Druid 自定义配置对应 DruidDataSource 中的 setting 方法的属性druid:min-idle: 0 # 池中维护的最小空闲连接数默认为 0 个。max-active: 20 # 池中最大连接数包括闲置和使用中的连接默认为 8 个。filter:stat: # 配置 StatFilter 对应文档 https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilterlog-slow-sql: true # 开启慢查询记录slow-sql-millis: 5000 # 慢 SQL 的标准单位毫秒stat-view-servlet: # 配置 StatViewServlet 对应文档 https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AEenabled: true # 是否开启 StatViewServletlogin-username: root # 账号login-password: root # 密码2.1.3主启动类 package com.yyds;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.sql.DataSource;SpringBootApplication public class ApplicationBak implements CommandLineRunner {private Logger logger LoggerFactory.getLogger(ApplicationBak.class);Autowiredprivate DataSource dataSource;public static void main(String[] args) {// 启动 Spring Boot 应用SpringApplication.run(ApplicationBak.class, args);}Overridepublic void run(String... args) {logger.info([run][获得数据源{}], dataSource.getClass());}} 2.1.4 监控 因为做了如下操作 通过 spring.datasource.filter.stat 配置了 StatFilter 统计监控信息。通过 spring.datasource.filter.stat-view-servlet 配置了 StatViewServlet 提供监控信息的展示的 html 页面和 JSON API 所以我们在启动项目后访问 http://127.0.0.1:8080/druid 地址账户密码为配置的root可以看到监控 html 页面。 在界面的顶部提供了数据源、SQL 监控、SQL 防火墙等功能。每个界面上可以通过 [View JSON API]获得数据的来源。因为监控信息是存储在 JVM 内存中在 JVM 进程重启时信息将会丢失。如果我们希望持久化到 MySQL、Elasticsearch、HBase 等存储器中可以通过 StatViewServlet 提供的 JSON API 接口采集监控信息。 Druid 的文档https://github.com/alibaba/druid/wiki/ 。 2.2 Druid多数据源配置 2.2.1 pom文件 如2.1.1 2.2.2 yml配置 spring:# datasource 数据源配置内容datasource:# 订单数据源配置orders:url: jdbc:mysql://127.0.0.1:3306/test_orders?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword:type: com.alibaba.druid.pool.DruidDataSource # 设置类型为 DruidDataSource# Druid 自定义配置对应 DruidDataSource 中的 setting 方法的属性min-idle: 0 # 池中维护的最小空闲连接数默认为 0 个。max-active: 20 # 池中最大连接数包括闲置和使用中的连接默认为 8 个。# 用户数据源配置users:url: jdbc:mysql://127.0.0.1:3306/test_users?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSource # 设置类型为 DruidDataSource# Druid 自定义配置对应 DruidDataSource 中的 setting 方法的属性min-idle: 0 # 池中维护的最小空闲连接数默认为 0 个。max-active: 20 # 池中最大连接数包括闲置和使用中的连接默认为 8 个。# Druid 自定已配置druid:# 过滤器配置filter:stat: # 配置 StatFilter 对应文档 https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilterlog-slow-sql: true # 开启慢查询记录slow-sql-millis: 5000 # 慢 SQL 的标准单位毫秒# StatViewServlet 配置stat-view-servlet: # 配置 StatViewServlet 对应文档 https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AEenabled: true # 是否开启 StatViewServletlogin-username: root # 账号login-password: root # 密码2.2.3主启动类 package com.yyds;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.annotation.Resource; import javax.sql.DataSource;SpringBootApplication public class Application implements CommandLineRunner {private Logger logger LoggerFactory.getLogger(Application.class);Resource(name ordersDataSource)private DataSource ordersDataSource;Resource(name usersDataSource)private DataSource usersDataSource;public static void main(String[] args) {// 启动 Spring Boot 应用SpringApplication.run(Application.class, args);}Overridepublic void run(String... args) {// orders 数据源logger.info([run][获得数据源{}], ordersDataSource.getClass());// users 数据源logger.info([run][获得数据源{}], usersDataSource.getClass());}} 2.2.4 配置类 package com.yyds.config;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary;import javax.sql.DataSource;Configuration public class DataSourceConfig {/*** 创建 orders 数据源*/PrimaryBean(name ordersDataSource)ConfigurationProperties(prefix spring.datasource.orders) public DataSource ordersDataSource() {return DruidDataSourceBuilder.create().build();}/*** 创建 users 数据源*/Bean(name usersDataSource)ConfigurationProperties(prefix spring.datasource.users)public DataSource usersDataSource() {return DruidDataSourceBuilder.create().build();}} 可以看到数据源加载成功。
http://www.hkea.cn/news/14515361/

相关文章:

  • 用帝国做网站怎么样网站编辑内容
  • 如何仿制国外网站英文网站用什么字体好
  • 做一名网络写手去那个网站好石家庄网站制作视频
  • 北京网站建设开发公司哪家好手机网站建设好吗
  • wordpress怎样删除adminwordpress系统加速优化
  • 做泵阀到哪个网站好电子网站设计
  • 网站做图分辨率是多少江门网页设计公司
  • 定制网站建设的流程图wordpress 采集微博
  • wordpress滑块代码seo的中文含义是什么意思
  • 软件公司 网站模板深圳网络营销推广公司
  • 带导航栏的网站网站建设规模
  • 溧阳手机网站哪里做快速生成网站
  • 企业站用什么程序做网站网站做sem推广时要注意什么
  • 仿《砍柴》网站程序网站建设的主题什么比较好
  • 易语言可以做网站wordpress关闭更新
  • 苏州网站建设搜q479185700在线做c语言题目的网站
  • 佛山网站设计代理商网站建设多少钱哪个济南兴田德润有活动吗
  • 语文建设投稿网站网站seo工作内容
  • 广州网站排名优化开发新余专业的企业网站建设公司
  • 网站备案接入商是什么app运营策略
  • 工作室网站需要备案吗网页美工设计教学设计
  • 南阳网站建设报价wordpress按地区
  • 哪个网站做舞蹈培训推广效果好南通建设网站
  • 文章写作网站外包加工项目
  • 业务网站在线生成高效利用js的代码库
  • 放心网站推广优化咨询网站开发需要多少行代码
  • 做seo推广公司网站推广优化怎么做最好
  • 用vs做网站的登录深圳网站建设怎么做
  • 随州网站建设哪家优惠微信开发显示wordpress
  • 买了域名后怎么建网站wordpress升级php版本