NutzCN Logo
问答 让Bean随容器初始化, 而不是调用时初始化的正确方法.
发布于 3022天前 作者 qq_06b7aca2 2205 次浏览 复制 上一个帖子 下一个帖子
标签:

让Bean随容器初始化, 而不是调用时初始化的正确方法.

想实现一个全局的单例, 不用@Inject进行注入.
但是发现自定义的Bean都是在调用的时候初始化.
问了群友说是可以尝试在 Setup 中就初始化, 不知如下做法是否正确.

public class MainSetup implements Setup
{
	public void init(NutConfig nc)
	{
		nc.getIoc().get(MyCfg.class);
        }
}

是否有像Spring提供的@Lazy(value=false)注解或注解属性进行使用, 取消Bean的懒加载形式.

3 回复

用Setup就行

来自炫酷的 NutzCN

Nutz 没有 @Lazy, 如果想预先加载,只能在 Setup 之类的启动点自己手动 get 一遍

想起来了,还有一个方法

MainModule 的声明里

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

后面那个 init 段,可以是一组 bean 的名字, Nut.Mvc 启动后,会依次为这些 bean 创建实例。
当然,如果你的 bean 的配置里面有 create 事件,也会随之调用,关于 create 事件请参看 Ioc 的事件监听

添加回复
请先登陆
回到顶部