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

京广桥做网站的公司四川互联网广告人

京广桥做网站的公司,四川互联网广告人,有没有在线看片资源,榆林网站建设公司电话转载自 微服务配置中心实战#xff1a;Spring MyBatis Druid Nacos 很多基于 Spring MVC 框架的 Web 开发中#xff0c;Spring MyBatis Druid 是一个黄金组合#xff0c;在此基础上如果融入一个配置中心#xff0c;会发生什么特别的变化呢#xff1f; 本文将通过一…转载自  微服务配置中心实战Spring MyBatis Druid Nacos 很多基于 Spring MVC 框架的 Web 开发中Spring MyBatis Druid 是一个黄金组合在此基础上如果融入一个配置中心会发生什么特别的变化呢 本文将通过一个用户信息查询示例演示在 Spring Web 项目中如何将数据库连接池的配置存放到 Nacos 中进行统一运维管控达到配置治理与降低数据泄露风险的目的。 Nacos是今年开源的一款帮助构建云原生应用的动态服务发现、配置和服务管理平台提供注册中心、配置中心和动态DNS服务三大功能。项目地址https://github.com/alibaba/nacos 数据表 在测试数据库中新建 user 表其中包含用户名称等字段与接下来的 User model 类相对应。 CREATE TABLE user (id bigint(20) unsigned NOT NULL AUTO_INCREMENT,name varchar(10) NOT NULL DEFAULT  COMMENT 名字,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户表;添加一行测试数据 INSERT INTO user (name, create_time, update_time) VALUES (Nacos, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);Spring 该示例是 Spring 常规的 Web 项目项目结构如下 image.png | left | 301x454 pom.xml 引入 Nacos Spring 的依赖包 nacos-spring-context dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-spring-context/artifactIdversion${latest.version}/version /dependency笔者在撰写本文时nacos-spring-context 的最新版本为0.2.2-RC1 dispatcher-servlet.xml dispatcher-servlet.xml 为示例中 Spring MVC 的入口配置在其中通过 import引入了 Nacos、Druid、MyBatis 的配置其内容如下 ?xml version1.0 encodingUTF-8? beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxmlnshttp://www.springframework.org/schema/beansxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdmvc:annotation-driven/context:annotation-config/context:component-scan base-packagecom.alibaba.nacos.example.spring/import resourcenacos.xml/import resourcedatasource.xml/import resourcespring-config-mybatis.xml/ /beansnacos.xml 关键看 nacos.xml nacos-spring-context 的扩展了 Spring 的 XML Schema 机制自定义了 nacos:property-source/ 等元素详细配置内容如下 ?xml version1.0 encodingUTF-8? beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlnshttp://www.springframework.org/schema/beansxmlns:nacoshttp://nacos.io/schema/nacosxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://nacos.io/schema/nacoshttp://nacos.io/schema/nacos.xsdnacos:global-properties server-addr127.0.0.1:8848 /nacos:property-source data-iddatasource.properties/ /beans其中通过 nacos:global-properties / 设置 Nacos Server 的连接地址通过 nacos:property-source / 从 Nacos 配置中心加载了 dataId 为 datasource.properties 的配置nacos-spring-context 会解析获取到的配置内容并添加到 Spring Environment 的 PropertySources 中使得后续初始化 Druid 连接池的时候能获取到数据库连接地址、账号密码、初始连接池大小等信息。这就是 Nacos 配置中心与 Spring 结合的关键点。 datasource.xml 这是数据库连接池的配置初始化了 DruidDataSource 的 Spring Bean并将其通过 DataSourceTransactionManager 设置为 Spring 的数据库连接池。 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:txhttp://www.springframework.org/schema/txxsi:schemaLocationhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean iddataSource classcom.alibaba.druid.pool.DruidDataSourceinit-methodinit destroy-methodcloseproperty nameurl value${datasource.url}/property nameusername value${datasource.username}/property namepassword value${datasource.password}/property nameinitialSize value${datasource.initial-size}/property namemaxActive value${datasource.max-active}//beanbean idtxManagerclassorg.springframework.jdbc.datasource.DataSourceTransactionManagerproperty namedataSource refdataSource//beantx:annotation-driven transaction-managertxManager/ /beans从上面的配置内容看一看到数据库连接池不需要因为引入 Nacos 配置中做任何特殊的改变。 其他 User 的 Model、Service 等也跟不使用 Nacos 配置中心时完全一致这里就不一一贴出完整示例代码可以在 nacos-examples 获取https://github.com/nacos-group/nacos-examples/tree/master/nacos-spring-example/nacos-spring-config-datasource-example Nacos 参照 Nacos 官网的快速开始https://nacos.io/zh-cn/docs/quick-start.html 从 Nacos 的 github 上下载最新稳定版本的 nacos-serverhttps://github.com/alibaba/nacos/releases 解压后到 Nacos 的 bin 目录下执行 startup 启动脚本以单机模式启动 Nacos Server Windows 请使用 cmd startup.cmd Linux/Unix/Mac 环境请使用 sh startup.sh -m standalone 。 启动后浏览器访问http://localhost:8848/nacos/index.html 就可以来到 Nacos 的控制台新增 dataId 为 datasource.properties 的配置对应上面 Spring 的 nacos.xml 中的 dataId。 配置内容则与 Spring 的 datasource.xml 中的连接池属性一一对应示例如下 datasource.urljdbc:mysql://localhost:3306/test datasource.usernameroot datasource.passwordroot datasource.initial-size1 datasource.max-active20运行 示例中是 UserController#get() 通过 UserServce 调用 Mybatis 的 Mapper 类UserMapper从数据库中查询指定 ID 的用户信息假设该示例是运行在端口为 8080 的 Tomcat 上访问http://localhost:8080/users?id1 地址将返回 {id: 1,name: Nacos }总结 本文通过一个示例演示在“原生” Spring 中如何使用 Nacos 配置中心从示例可以看出对原有的 Spring 项目基本没有任何侵入只需在 pom.xml 中添加 nacos-spring-context 的依赖然后再定义并引入 nacos.xml 配置就可以将数据库连接池信息管控起来做到统一运维并降低数据泄露的风险。 试想如果你有多个项目连接同一个数据库或一个项目部署很多实例当数据库密码修改时你不需要去修改每个项目的 datasource.properties 文件再走一次应用的部署发布流程而是到 Nacos 的控制台上修改一个配置项再去重启应用实例即可。当然如果你是自己管理数据库连接池则可以做到连“重启应用实例”都不需要了只需在监听到 Nacos 配置变化时重新初始化数据库连接池即可。 将 Spring 配置放置到 Nacos 配置中还能用上“动态推送”、“版本管理”、“快速回滚”、“监听查询”以及后续的 “灰度发布”、“配置加密”、“权限管控”等功能为 Spring MyBatis Druid 插上“飞翔”的翅膀。 完整示例代码 https://github.com/nacos-group/nacos-examples/tree/master/nacos-spring-example/nacos-spring-config-datasource-example
http://www.pierceye.com/news/101660/

相关文章:

  • 天津平台网站建设哪里好深圳网络营销推广专员
  • 手机网站建设哪家好嘉定房地产网站建设
  • 酒店网站建设需求分析wordpress 文档模板
  • 品牌微信网站定制wordpress企业cms
  • 郑州网站推广效果免费的个人网页
  • 安徽平台网站建设找哪家安阳实力网站建设首选
  • 企业网站的建设要注意哪些方面免费字体下载网站
  • 建怎样的网站挣钱快网站怎么做微博认证吗
  • 衡水做网站改版网站开发教程流程
  • 鞍山网站制作人才招聘广州网站优化步骤
  • 网站使用微信支付宁国网络推广
  • 成都网站建设六六济南网站制作公司
  • c 网站开发技术链友咨询
  • 手机网站推荐怎样做网站建设
  • 下载学校网站模板下载安装住建部官网查询
  • 模板网站新增备案两次都未通过网站也打不开电子商务网站建设实训报告文章
  • 做标签网站是干嘛的帐号售卖网站建设
  • 建设市民中心网站wordpress只显示标题插件
  • 网站备案的好处鲜花网站建设论文百度文库
  • 网站建设运营策划石家庄住房和建设局网站
  • 网站制作器公司网站虚假宣传但网站不是我做的
  • 大淘客网站建设婚庆网页设计作品dw
  • 嘉兴网站关键词优化后端开发流程
  • 有网络网站打不开怎么回事培训机构推广
  • 淄博网站建设优化珍云网站可信图标
  • 大连外贸网站建设江门营销网站建设
  • 县网站建设方案怎么做付费的小说网站
  • 企业公众号以及网站建设我想做个网站
  • 网站设为主页功能怎么做怎样制作h5
  • 网站的内容与功能设计微信公众平台小程序二维码怎么生成