JFinal的IOC插件 JFinal IOC
- 授权协议: GPL
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://git.oschina.net/northersong/JFinal_IOC
- 软件文档: http://git.oschina.net/northersong/JFinal_IOC/wikis/Home
软件介绍
JFinal的ioc插件
JFinal_ioc是JFinal的ioc插件,目的就是为了像spring的注入功能一样方便简单。
习惯在spring下通过注解的方式扫描service层,然后在controller的注入使用,在JFinal下自己写个插件和一个全局拦截器来实习这些功能。
希望各位大神给予宝贵意见
遵循JFinal的传统,依然是0配置,so bean的添加在JFinalConfig的继承类中
JFinal_IOC插件
可以通过add()方法和addPackage()方法添加bean
bean可实现单例模式。可以自定义获取bean的key值
获取bean的方法getBean(String key)、getBean(Class<?> key)
当然最重要的功能是可以通过注解@Server和@Autowired来实现ioc
@Overridepublic void configPlugin(Plugins me) {
//添加插件
Ioc ioc = Ioc.getIoc();
me.add(ioc);
//自动扫描com.blog.service下有@Server注解的类,为single模式
ioc.addPackage("com.blog.service",true);
//添加单个bean
//ioc.add("articleManager",ArticleManager.class,false);}
@Override
public void configInterceptor(Interceptors me) {
//配置全局拦截器,当controller里字段加@Autowired注解后自动根据其类型或value注入
me.add(new AutowiredInterceptor());}/**
*Controller类
*/public class BlogController extends Controller {
//两种注入都可以
@Autowired
private ArticleManager articleManager;
//= (ArticleManager)Ioc.getBean(ArticleManager.class);
测试用的类在com.test.Test里有
package com.test;
import java.lang.reflect.Field;
import com.anna.config.Ioc.Autowired;
import com.anna.config.Ioc.Ioc;
import com.blog.service.ArticleManager;
public class Test {
public void print(){
System.out.println("Hello Ioc");
}
public static void main(String...args){
Ioc ioc = Ioc.getIoc();
ioc.addPackage("com.blog.service",true);
ioc.add("test",Test.class,true);
Test test = (Test) Ioc.getBean("test");
ArticleManager articleManager = (ArticleManager)Ioc.getBean(ArticleManager.class);
articleManager.pri();
test.print();
}
}
Types and Programming Languages
Benjamin C. Pierce / The MIT Press / 2002-2-1 / USD 95.00
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of typ......一起来看看 《Types and Programming Languages》 这本书的介绍吧!
