Atitit.ioc 动态配置文件guice 设计原理
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 设计原理相关推荐
- Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url
Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url 1.1. 原理流程1 2. Invoke1 3. StrutsX2 1.1. 原理流程 读取struts配 ...
- 动态交互app界面设计原理指南
动态交互对数字产品的用户体验产生了深远的影响,但是,如果界面元素没有表现出基本的动态交互设计原理,则可用性会受到损害.在用户界面的上下文中,动作不仅仅是视觉装饰.它是一种强大的力量,可增强产品参与度并 ...
- 简述一下动态sql的执行原理_简述一下Pogo Pin电连接器的设计原理和考虑因素
"简述一下Pogo Pin电连接器的设计原理和考虑因素"由电蜂优选为您整理. 目前随着电子科技时代的快速发展,电连接器的发展也逐渐成为主流发展趋势之一.例如电动汽车新能源的开发与研 ...
- 配置中心Apollo的设计原理
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:https://urlify.cn/eIBZne 前言 Ap ...
- Spring 的IOC容器系列的设计与实现:BeanFactory 和 ApplicationContext
在Spring IOC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本的功能,另一个是ApplicationContex ...
- spring技术内幕——深入解析spring架构与设计原理
林纳斯·托瓦兹(Linus Torvalds)说:"我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要.平庸的程序员眼里只有代码,优秀的程序员则 ...
- php trace 图形,PHP Trace 设计原理
PHPTrace 设计原理 简单介绍 PHPTrace致力于打造一款实时跟踪PHP函数调用,获取PHP函数调用栈信息以及PHP解释器状态的工具,这个PHP工具应该像系统工具strace/pstack一 ...
- BeanFactory容器的设计原理
BeanFactory接口提供了使用IOC容器的规范.在这个基础上,Spring还提供了符合这个IOC容器借口了的一系列容器的实现供开发人员使用.先以XmlBeanFactory的实现为例来 说明简单 ...
- 【Spring】IoC容器系列的设计与实现:BeanFactory和ApplicationContext
在Spring IoC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本功能,另一个是ApplicationContext ...
- Spring Cloud- Ribbon设计原理
Ribbon 是netflix 公司开源的基于客户端的负载均衡组件,是Spring Cloud大家庭中非常重要的一个模块:Ribbon应该也是整个大家庭中相对而言比较复杂的模块,直接影响到服务调度的质 ...
最新文章
- C++中指针和void
- JS垃圾回收——和其他语言一样,JavaScript 的 GC 策略也无法避免一个问题:GC 时,停止响应其他操作,这是为了安全考虑...
- 将DevExpress.Utils.ImageCollection变量的image导出
- 弹簧和线程:TaskExecutor
- 天池 在线编程 中位数
- ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库
- 全面介绍Windows内存管理机制及C++内存分配实例(三):虚拟内存
- 江湖不再平静---51CTO学院停服公告
- 机器学习算法难学吗?一文带你掌握机器学习知识要点
- 如何删除Mac OS X上隐藏的文件?
- 明日服务器中断,明日之后服务器连接中断 无法登陆解决办法[多图]
- 制作1G的U盘启动盘
- distpicker插件使用自定义数据
- uniapp-简单banner实现
- 计算机一级exc除法函数,excel除法函数 excel除法如何表示
- 感觉所有的方法都有人做了,NLPer怎么找创新点?
- Windows Server 2016 NTP服务端和客户端配置
- 我是如何通过阿里面试的?
- HDU 6411 带劲的and和【枚举贡献】
- 2022年中式烹调师(高级)操作证考试题库及模拟考试