加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

一个项目的SpringCloud微服务改造过程

发布时间:2019-08-06 21:30:04 所属栏目:建站 来源:黄玲峰
导读:副标题#e# SSO是公司一个已经存在了若干年的项目,后端采用SpringMVC、MyBatis,数据库使用MySQL,前端展示使用Freemark。今年,我们对该项目进行了一次革命性的改进,将其改造成SpringCloud架构,并且把前后端分离,前端采用Vue框架。 一、使用SpringCloud

【情况二】

  • 条件:不引入druid-spring-boot-starter只依赖druid.jar ,指定spring.datasource.type为DruidDataSource。
  • 结果:注入了DruidDataSource数据源,但配置文件中的druid配置不会生效。 
  • 解析: 指定了依赖的数据源后,spring自动注入的starter会将指定的数据源注入,yml指定了druid数据源。@ConfigurationProperties注解的DataSourceProperties没处理druid部分的性能参数属性,只处理了数据源部分的属性。

【情况三】

  • 条件:引⼊ druid-spring-boot-starter 不依赖druid.jar,指定spring.datasource.type为DruidDataSource。
  • 结果:注入了DruidDataSource数据源, 配置文件中的druid配置也会生效。 
  • 解析:druid-spring-boot-starter自动配置类会在DataSourceAutoConfiguration之前先创建数据源,并且@ConfigurationProperties注入的DataSourceProperties包含了配置文件中druid的属性。

pom.xml依赖:

  1. <!-- 情况一、二 测试引入的依赖 --> 
  2.   <!--<dependency>--> 
  3.       <!--<groupId>com.alibaba</groupId>--> 
  4.       <!--<artifactId>druid</artifactId>--> 
  5.       <!--<version>${druid.version}</version>--> 
  6.   <!--</dependency>--> 
  7.   <dependency> 
  8.       <groupId>com.alibaba</groupId> 
  9.       <artifactId>druid-spring-boot-starter</artifactId> 
  10.       <version>1.1.10</version> 
  11.   </dependency> 
  12.   <dependency> 
  13.       <groupId>org.mybatis.spring.boot</groupId> 
  14.       <artifactId>mybatis-spring-boot-starter</artifactId> 
  15.       <version>RELEASE</version> 
  16.   </dependency> 

yml配置:

  1. spring: 
  2.   datasource: 
  3.     type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型 
  4.     driver-class-name: com.mysql.jdbc.Driver            # mysql驱动包 
  5.     url: jdbc:mysql://yourURL        # 数据库名称 
  6.     username: yourusername 
  7.     password: yourpassword 
  8.     druid: 
  9.       initial-size: 5  # 初始化大小 
  10.       min-idle: 5  # 最小 
  11.       max-active: 20  # 最大 
  12.       max-wait: 60000  # 连接超时时间 
  13.       time-between-eviction-runs-millis: 60000  # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 
  14.       min-evictable-idle-time-millis: 300000  # 指定一个空闲连接最少空闲多久后可被清除,单位是毫秒 
  15.       validationQuery: select 'x' 
  16.       test-while-idle: true  # 当连接空闲时,是否执行连接测试 
  17.       test-on-borrow: false  # 当从连接池借用连接时,是否测试该连接 
  18.       test-on-return: false  # 在连接归还到连接池时是否测试该连接 
  19.       filters: config,wall,stat 

B、MyBatis配置 

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读