1 Star 0 Fork 0

排骨囝 / MC

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

请查看分支 V2.10 最终版。以后版本整合到Bin项目里

@Github https://github.com/fdisk123/MC/tree/v2.10

@Git@OSC http://git.oschina.net/Z.Ben.L/MC/tree/v2.10

@可以直接使用编译的包<编译好的包>

					编译好的包
					+------javassist-3.12.1.GA.jar
					+------mc-annotation-0.0.1-SNAPSHOT.jar
					+------mc-bean-0.0.1-SNAPSHOT.jar
					+------mc-cache-0.0.1-SNAPSHOT.jar

可以用xml写配置。 mc-bean 包里包含MC.dtd(约束)、bean.xml两个文件(例子,可以配合mc-anthing-test/src/main/java/com/ben/mc/AnthingTest/code_test/Xml_Classprocessing.java例子运行) 可以不用xml直接传入描述路径运行即可。 @例子:

	public static void main(String[] args) throws Throwable {
	
        	 //初始化(全局只要运行一次即可)(完成模式,既使用xml,又使用注解)
        	 //new DefaultApplicationContext("bean.xml");
        	 
        	 //或者(完成模式,既使用xml,又使用注解)
  			 //ApplicationContext ac = new DefaultApplicationContext("bean.xml");
  			 
  			 //或者(注解模式,不使用xml)
  			 //new DefaultApplicationContext("test", false, true);
  			 
  			 //或者(注解模式,不使用xml)
		     ApplicationContext ac = new DefaultApplicationContext("test",false, true);
		     
		     //获取实例
		     //IocTest1 i =ac.getBeans("IocTest1");
		     //或者(获取实例)
		     //IocTest1 i = BeanFactory.getBean("IocTest1");
		     //或者(获取实例)
		     IocTest1 i = DefaultApplicationContext.getBean("IocTest1");
		     //运行
	       	 i.aaxx("xxxx");
	       }

注解说明: @Register 要注入、要注入实现的类使用

  @Register
  class a{}

@AutoLoad 注入后自动装载实现类

  @Register
  class a{
    @AutoLoad
    private X x;
  }

@Intercept 拦截器(拦截整合类下所有方法/拦截某方法) 拦截器一定要实现com.ben.mc.bean.classprocessing.handler.Interception 接口

  //拦截所有的方法
  @Register
  @Intercept("com.ben.mc.AnthingTest.mc.xml.DefaultInterceptionXml")
  class a{
    @AutoLoad
    private void x(){}
     private void x2(){}
  }
  
  //或者
  //只拦截x() 方法
  @Register
  class a{
    @AutoLoad
    @Intercept("com.ben.mc.AnthingTest.mc.xml.DefaultInterceptionXml")
    private void x(){}
     private void x2(){}
  }

xml配置说明(xml配置顺序必需严格按照 InitSystemClassLoader,Bean,Intercept,ScanToPack 否则报错抛出)

注册一个对象 type="class"-->
<!-- 拦截器 methods="all" 默认 --><!-- 拦截 aaxx3 和 aaxx2 只方法 拦截实现 com.ben.mc.AnthingTest.mc.xml.DefaultInterceptionXml -->
<Intercept methods="aaxx3,aaxx2" class="com.ben.mc.AnthingTest.mc.xml.XmlIocTest1" name="intercept0083" ref="com.ben.mc.AnthingTest.mc.xml.DefaultInterceptionXml" />

<ScanToPack value="test,test.**.a" /><!--自动扫描1: test 关键字下的所有包,2 扫描test.**.a 关键字路径下的所有包 -->

空文件

简介

基于javassist实现轻量级非入侵式 IOC、AOP。可以通过XML配置\完全脱离配置(注解)。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/Z.Ben.L/MC.git
git@gitee.com:Z.Ben.L/MC.git
Z.Ben.L
MC
MC
master

搜索帮助