codecamp

Hasor 单例

Hasor 支持单例,声明 Bean 的单例一般通过下面这种注解方式即可。

@Singleton()
public class AopBean {
    ...
}


如果您使用的 Apibinder 方式进行代码形式声明单例,那么需要这样:

public class MyModule implements Module {
    public void loadModule(ApiBinder apiBinder) {
        apiBinder.bindType(PojoInfo.class).asEagerSingleton();
    }
}


如果说您的项目中要大量应用到单例模式,在每个类上都标记 @Singleton 注解也是一件不小的工作量。Hasor 允许让你增加一个配置,通过配置让 Hasor 框架默认讲所有类在创建时都进行单例化配置。

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://project.hasor.net/hasor/schema/main">
    <hasor.default>
        <!-- 改为 true,让 Hasor 框架默认工作在单例模式下 -->
        <asEagerSingleton>true</asEagerSingleton>
    </hasor.default>
</config>


Hasor 拦截器的匹配器
Hasor 原型
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }