Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

提供另外一个 Druid Spring Boot Starter #1829

Closed
drtrang opened this issue Jul 13, 2017 · 5 comments
Closed

提供另外一个 Druid Spring Boot Starter #1829

drtrang opened this issue Jul 13, 2017 · 5 comments

Comments

@drtrang
Copy link

drtrang commented Jul 13, 2017

Druid Spring Boot Starter,支持开箱即用,提供完整的自动提示:https://github.com/drtrang/druid-spring-boot

@drtrang drtrang changed the title 提供一个比官方更好用 [Druid Spring Boot Starter](https://github.com/drtrang/druid-spring-boot) 提供一个比官方更好用 Druid Spring Boot Starter Jul 13, 2017
@lihengming
Copy link
Contributor

@drtrang 粗略看了下源码没看出来哪点更好用

  1. 没有任何的单元测试
  2. 不支持多数据源配置
  3. 不支持Spring AOP配置
  4. IDE自动提示官方同样完整覆盖

@drtrang drtrang closed this as completed Jul 14, 2017
@drtrang
Copy link
Author

drtrang commented Jul 19, 2017

@lihengming 回应之前的几个问题

  1. druid-spring-boot-samples 中包含单元测试,目前覆盖率 91%
  2. 1.0.2 版本支持多数据源,并且支持继承公共参数
  3. 支持正则匹配
  4. 你确定完整覆盖?我想配置 asyncCloseConnectionEnable 参数要怎么做?手动去声明 Bean?那还要 Starter 干吗,你的版本里只有 DruidDataSourceProperties 中已经定义的属性才支持自动配置。

之前提的 Issue,Druid 基本的 Filter 都不支持自动配置 #1823

@drtrang drtrang reopened this Jul 19, 2017
@drtrang drtrang changed the title 提供一个比官方更好用 Druid Spring Boot Starter 提供另外一个 Druid Spring Boot Starter Jul 19, 2017
@lihengming
Copy link
Contributor

lihengming commented Jul 19, 2017

@drtrang
不错,看来经过几天代码完善,你解决了上述的问题,不过我依然不认可你所说的比官方更好用的说法。

关于你说的“你的版本里只有 DruidDataSourceProperties 中已经定义的属性才支持自动配置",这是因为使用Spring Boot ConfigurationPropertiesBindingPostProcessor 动态绑定会导致 #1796 问题的发生,不得不这样做,我想你的代码也会出现这个问题。

在放弃动态绑定后,我只对 DruidDataSource配置属性列表 内的参数提供配置支持,如果你需要asyncCloseConnectionEnable等”小众“参数配置的支持,很简单,提Issue我来完善或者直接提个PR即可,这都是小问题,举手之劳。Filter也一样,我不认为 #1800 的配置方式比配置文件要麻烦,我也不认为一定要将所有东西都塞进 Druid Spring Boot Starter 内。

最后,感谢你的建议。但是我不太理解的是,Druid Spring Boot Starter 本就是一个非常简单的项目,它的作用仅仅是帮助在 Spring Boot 中集成 Druid 而已,为什么要去重复发明轮子,而不是一起维护、完善。

@drtrang
Copy link
Author

drtrang commented Jul 20, 2017

最初的想法是提PR,但是代码改动太大,并且风格不一样。提供两个选择不是更好吗?用户可以自行选择更合适的。

技术本来就是不断的在造轮子,在造轮子的过程中,才会不断的突破自己,而不是拿来主义就好,同时也会更加符合自己的需求。

我只是觉得官方出品的东西,应该尽可能的覆盖更多场景,毕竟 Starter 的目的就是为了自动配置,如果需要手动配置才能完成,貌似和直接使用 Druid 没什么差别。

另,标题已改,之前语言欠妥。

@lxholding
Copy link

个人认为简单场景下有官方版本就好了,有超出此范围的需求肯定会自己去写自定义配置,根本用不上

@drtrang drtrang closed this as completed Jul 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants