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

如果一个Bean实现了IocLoader接口,那自动加入Ioc的加载器列表 #829

Closed
wendal opened this issue Apr 5, 2015 · 9 comments
Closed
Labels
Milestone

Comments

@wendal
Copy link
Member

wendal commented Apr 5, 2015

换句话说, 先通过Ioc容器生成IocLoader,然后将其加入Loader列表,从而得到更多的IocBean定义(例如从数据库加载)

在 Mvc 环境,支持了

@IocBy(type = JsonIocProvider.class, args = {"ioc"}, init = {"loader"})

即,你如果给 @IocBy 添加一个 init={"loader"} 那么, Mvc 创建完 Ioc 容器,会自动先获取一下名字为 "loader" 的对象,当然,如果它恰好是 IocLoader,就会被自动计入加载列表。
当然,你的对象名字不叫 loaderabc 啥的都行,随你高兴。

Issue #863 和这个需求类似,它是动态加载 Mvc 的 Modules 的,通常这两个特性会共同使用

@Modules(by = "ioc:webscan")   // 调用  webscan 对象来获取 Module,以便获得最大的灵活性
// 但是 webscan 只能得到模块类的列表,它不能影响 Ioc 容器。因此 @IocBy 里面声明一个 loader
// 它可以动态的将你需要的模块类纳入 Ioc 容器管理
@IocBy(type = JsonIocProvider.class, args = {"ioc"}, init = {"loader"})
@zozoh
Copy link
Member

zozoh commented Apr 7, 2015

你已经实现了?

@zozoh zozoh added this to the 1.b.53 milestone Apr 7, 2015
@wendal
Copy link
Member Author

wendal commented Apr 7, 2015

还没,正准备弄

zozoh added a commit that referenced this issue Apr 7, 2015
简单改了一下,不过效率会有所下降。
@zozoh
Copy link
Member

zozoh commented Apr 7, 2015

@wendal CachedIocLoader 的动机是啥? 加快速度? 我看不弄成一个接口,直接是 ComboIocLoader 的一个子类如何?

@wendal
Copy link
Member Author

wendal commented Apr 7, 2015

貌似CachedIocLoader 根本没派上用场

当初是想着每次从iocloader取很费时

@zozoh
Copy link
Member

zozoh commented Apr 8, 2015

嗯,JsonLoader , XmlLoader 都有缓存,每次就是 new 几个类的消耗
那就把它删掉?

@zozoh
Copy link
Member

zozoh commented Apr 8, 2015

如果这个弄了,看来我的那个丑陋的 $dynamic 就可以去掉了 :P

@wendal
Copy link
Member Author

wendal commented Apr 8, 2015

CachedIocLoader 干掉吧,应该没用

@wendal
Copy link
Member Author

wendal commented Apr 8, 2015

rm CachedIocLoader in 7b5d5ee

@wendal
Copy link
Member Author

wendal commented Jun 8, 2015

那就是ok了?, 关了

@wendal wendal closed this as completed Jun 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants