Atitit.ioc 动态配置文件guice 设计原理

1. Bat启动时注入配置文件1

2. ioc调用1

3. Ioc 分发器 配合 apche  MethodUtils.invokeStaticMethod2

1. Bat启动时注入配置文件

SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_71

set  RESIN-HOME=c:\resin-4.0.22

set classpath=%classpath%;%RESIN-HOME%\lib\jasper.jar;%RESIN-HOME%\lib\javaee-16.jar;%RESIN-HOME%\lib\resin.jar

rem 3,配置classpath %RESIN-HOME%\lib\resin.jar (如果是win7的话没必要设置)

rem  否则报异常:com.caucho.loader.SystemClassLoader

rem  否则报异常:com.caucho.loader.SystemClassLoader

rem %RESIN-HOME%\resin.exe console  -resin-home %RESIN-HOME% --debug-port 8000

"%JAVA_HOME%\bin\java" -Dresin.server=1 -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djava.system.class.loader=com.caucho.loader.SystemClassLoader -Djava.endorsed.dirs="%java_home%\jre\lib\endorsed;E:\resin-4.0.22\endorsed" -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl -Djava.awt.headless=true -Dresin.home=/%RESIN-HOME% -Xss1m -Xmx556m -Xrs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 com.caucho.server.resin.Resin --root-directory /%RESIN-HOME% -conf %RESIN-HOME%\conf\resin.xml   -resin-home /%RESIN-HOME% -root-directory /%RESIN-HOME% console -debug-port 8000 -Dapptype="jobus"

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. ioc调用

this.dbx=com.attilax.ioc.IocXq214.getBean(DBX.class);

3. Ioc 分发器 配合 apche  MethodUtils.invokeStaticMethod

/**

* @author attilax 老哇的爪子

@since  o92 j_48_u$

*/

package com.attilax.ioc;

import com.attilax.core;

import com.attilax.db.DBX;

import com.attilax.db.DbxMybatis;

import com.attilax.persistence.HbxX;

import com.attilax.persistence.PX;

import com.focustar.ServiceLoctor4vod;

import com.focustar.downtask.GvDownloadTaskSvs;

import com.google.inject.Binder;

import com.google.inject.Guice;

import com.google.inject.Injector;

import com.google.inject.Module;

import com.google.inject.name.Names;

import static  com.attilax.core.*;

import java.util.*;

import java.net.*;

import java.io.*;

import org.apache.commons.lang3.reflect.MethodUtils;

//import org.directwebremoting.extend.AbstractCreator;

//import org.directwebremoting.extend.Creator;

/**

* @author  attilax 老哇的爪子

*@since  o92 j_48_u$

*/

public class IocXq214   {

//publicstatic Injector ati;

public static void main(String[] args) {

System.setProperty("apptype","jobus");

System.out.println(getBean(DBX.class));

}

/**

@author attilax 老哇的爪子

@since  o92 j_48_40

* @param class1

* @return

*/

public  static  <t> t getBean(Class<t> class1) {

String apptype=System.getProperty("apptype");

String clsName="aaaCfg.IocX4@app@".replace("@app@", apptype);

Object o= com.attilax.reflect.MethodUtils.invokeStaticMethod(clsName, "getBean", (Object)class1);

// attilax 老哇的爪子  j_48_40   o92

return    (t) o;

}

//  attilax 老哇的爪子 j_48_u   o92

/* (non-Javadoc)

* @see org.directwebremoting.extend.Creator#getType()

* @author  attilax 老哇的爪子

*@since  o93 l_d_c$

*/

/**

@author attilax 老哇的爪子

@since  o02 4_f_56

* @param string

*/

public     <t> t getBean(String className) {

// attilax 老哇的爪子  4_f_56   o02

try {

Class c=Class.forName(className);

return (t) getBean(c);

} catch (ClassNotFoundException e) {

//  attilax 老哇的爪子 4_h_t   o02

e.printStackTrace();

throw new RuntimeException(e);

}

//return null;

}

}

//  attilax 老哇的爪子

Atitit.ioc 动态配置文件guice 设计原理的更多相关文章

  1. Spring IOC设计原理解析:本文乃学习整理参考而来

    Spring IOC设计原理解析:本文乃学习整理参考而来 一. 什么是Ioc/DI? 二. Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三. I ...

  2. Atitit ati licenseService    设计原理

    Atitit ati licenseService    设计原理 C:\0workspace\AtiPlatf\src_atibrow\com\attilax\license\LicenseX.ja ...

  3. Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理

    IOC的基础 下面我们从IOC/AOP开始,它们是Spring平台实现的核心部分:虽然,我们一开始大多只是在这个层面上,做一些配置和外部特性的使用工作,但对这两个核心模块工作原理和运作机制的理解,对深 ...

  4. Atitit.异常的设计原理与 策略处理 java 最佳实践 p93

    Atitit.异常的设计原理与 策略处理 java 最佳实践 p93 1 异常方面的使用准则,答案是:: 2 1.1 普通项目优先使用异常取代返回值,如果开发类库方面的项目,最好异常机制与返回值都提供 ...

  5. Atitit.异常机制的设计原理

    Atitit.异常机制的设计原理 缺陷 关键是只要知晓有一个异常表的存在,try 的范围就是体现在异常表行记录的起点和终点.JVM 在 try 住的代码区间内如有异常抛出的话,就会在当前栈桢的异常表中 ...

  6. Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url

    Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url 1.1. 原理流程1 2. Invoke1 3. StrutsX2 1.1. 原理流程 读取struts配 ...

  7. BeanFactory容器的设计原理

    XmlBeanFactory设计的类继承关系 1.BeanFactory接口提供了使用IoC容器的规范.在这个基础上,Spring还提供了符合这个IoC容器接口的一系列容器的实现供开发人员使用. 2. ...

  8. Kafka设计原理

    一.入门 1.简介 Apache Kafka是一个分布式消息发布订阅系统.它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log) ...

  9. SpringMVC 原理 - 设计原理、启动过程、请求处理详细解读

    SpringMVC 原理 - 设计原理.启动过程.请求处理详细解读 目录 一. 设计原理 二. 启动过程 三. 请求处理 一. 设计原理 Servlet 规范 SpringMVC 是基于 Servle ...

随机推荐

  1. (6)C#方法,作用域,方法重载

    1.方法 返回类型 方法名(参数列表) 例如:int a(int b,int c) { 方法体 return b+c; } 函数如果有返回类型则最后要用return一个和返回类型一样的数据. 2.无返 ...

  2. 【hdu3652】数位dp(浅尝ACM-A)

    向大佬学习 第一次写博客有点紧张,也算是小萌新的突破吧 这次主要是总结一下校内的ACM比赛的各种题,主要是新思路以及学到的新知识 先放一张 下面开始说正事 题面 A wqb-number, or B- ...

  3. python正则表达式-re模块

    目录: 一.正则函数 二.re模块调用 三.贪婪模式 四.分组 五.正则表达式修饰符 六.正则表达式模式 七.常见的正则表达式 导读: 想要使用python的正则表达式功能就需要调用re模块,re模块 ...

  4. centos下配置ssh使用密钥

    查询了网上的一些教程,然后根据自己的实际操作,记录自己实际配置ssh密钥的过程: 首先在centos终端切换到要链接的用户,比如用户ssh 使用该用户生成密钥: ssh-keygen -t rsa 中 ...

  5. C#如何把日期转成YYYYMMDDHHMMSSFFF的精确到毫秒的格式?

    C#如何把YYYY-MM-DD HH:MM:SS格式的日期转成YYYYMMDDHHMMSS的格式? 方法一:string   src= (new DataTime()).ToString(); str ...

  6. Android自定义View(二)

    前言 魅族手机的闹钟应用中有个倒计时,这个控件还是蛮有趣的.左边是魅族闹钟,右边是我们最终实现的效果,虽然有些细节还需优化,不过基本上已经达到了想要的效果,我们先来就来看看如何实现吧. 分析 确定宽高 ...

  7. Assembly.Load动态加载程序集而不占用文件 z

    方式一:占用文件的加载 Assembly assembly = Assembly.Load(path); 用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的d ...

  8. EasyMvc入门教程

    EasyMvc 希望实现的目标:模块化,快速简单化,满足80%的常见需求.基于.Net Core 2.0.5开发.开发环境:VS2017,运行环境支持Window/Linux. 相关链接: 演示地址: ...

  9. 让用VS2012/VS2013编写的程序在XP中顺利执行

    微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序仅仅能在Vista/Win7/Win8上执行.但幸好还保留了生成XP程序的设置项.XP和Win2003的用户还是大量存在的,我们 ...

  10. 关于计算机中的《补码》,公式:-n=~n+1 引伸:~n=-n-1

    在计算机系统中,数值一律用补码来表示(存储).主要原因是使用补码可以将符号位和其他位统一处理:同时,减法也可以按加法来处理.另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃.补 ...