`
devil13th
  • 浏览: 43397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js模拟java的spring

阅读更多
<script type="text/javascript">



//模拟 map 
var Map = function(){
	this.m = {};
}
Map.prototype = {
	put : function(k,v){
		this.m[k] = v;
	},
	get : function(k){
		return this.m[k];
	}
}

//模拟beanFactory 
var Spring = {
	objs : new Map(),
	init : function(config){
		for(var i = 0 , j = config.length ; i < j ; i++){
			var cfg = config[i];
			var ret = this.create(cfg);
			this.objs.put(ret[0],ret[1]);
		}
	},
	get : function(k){
		return this.objs.get(k);
	},
	create : function(cfg){
		var f = new Function();
		f.prototype = window[cfg.fn].prototype;
		var _instance = new f();
		
		var args = [];
		if(cfg.pro){
			for(var pro in cfg.pro){
				if(cfg.pro[pro].v){
					args.push(cfg.pro[pro].v)
				}
				if(cfg.pro[pro].c){
					args.push(this.get(cfg.pro[pro].c))
				}
			}
		}
		window[cfg.fn].apply(_instance,args);
		return [cfg.id,_instance]
	}
}


//模拟applicationContext.xml
var cfg = [
	//模拟bean
	{
		id : "c2", // bean的id
		fn : "C2"  // bean的class
	},
	{
		id : "c1",
		fn : "C1",
		pro : {//构造函数的参数
			arg1 : {v:"vvv"}, //v :代表直接赋值 (spring 配置文件中的 value="...")
			arg2 : {v:"bbb"}, 
			arg3 : {c:"c2"} //c : 配置中其他bean的id(spring 配置文件中的 ref bean = "...")
		}
	}
]


//客户端

var C1 = function(x,y,z){
	this.a = x;
	this.b = y;
	this.c = z;
	this.s = this.c.add(this.a,this.b);
	var _this = this;
	this.z = function(){alert(_this.a + "|||||" +  _this.b)}
}

var C2 = function(){
	this.add = function(a,b){return a + b};
	this.toString = function(){return "C2"}
}


Spring.init(cfg); //加载配置
var  c1 = Spring.get("c1"); //从beanfactory中获取bean

alert(c1.s);
c1.z();




</script>

 

分享到:
评论

相关推荐

    JAVAspring之网络购物中心项目

    【标题】"JAVAspring之网络购物中心项目"揭示了一个基于Java Spring框架开发的电子商务应用程序。这个项目旨在模拟一个实际的在线购物环境,提供商品浏览、购买、支付以及用户管理等核心功能。Spring框架作为Java...

    学生宿舍管理系统java spring boot

    《基于Java Spring Boot的学生宿舍管理系统设计与实现》 在当今数字化时代,高校宿舍管理的效率与服务质量直接影响到学生的日常生活和学习体验。为了提高管理水平,降低人为错误,许多学校选择采用信息化管理系统。...

    Java Spring MVC 流浪狗领养系统【优质毕业设计分享】

    Java Spring MVC 流浪狗领养系统是一款基于Java技术栈的Web应用,旨在提供一个平台,使得流浪狗得以被领养,同时也方便爱心人士寻找合适的领养对象。这个项目不仅适用于学习Spring MVC框架,还展示了如何将实际问题...

    Java Spring Boot实现企业办公管理系统,模仿OA软件【优质毕业设计、课程设计项目】

    本项目是基于Java Spring Boot框架实现的企业办公管理系统,旨在模仿OA(Office Automation)软件的功能,为用户提供一套完整的毕业设计或课程设计解决方案。Spring Boot作为现代Java开发的热门框架,以其简洁、快速...

    java+js交互Demo

    Java框架如Spring Boot提供了便捷的方式来创建RESTful服务,而JavaScript通过XMLHttpRequest或fetch API进行HTTP请求。 6. Java Applet和Web Start 虽然现在已经较少使用,Java Applet是嵌入HTML中的小程序,可以...

    模拟股票交易系统Java

    前端可能使用React或Vue.js等现代JavaScript框架,构建响应式Web应用。此外,数据库可能会选择MySQL或PostgreSQL,以存储用户信息和交易数据。整个系统设计需要遵循软件工程的最佳实践,确保代码质量、可维护性和可...

    java+html模拟中国移动系统

    在实现过程中,可能还会用到其他技术,如Spring框架来管理依赖、处理事务,MyBatis或Hibernate作为ORM工具简化数据库操作,Ajax实现异步通信提升用户体验,以及Maven或Gradle作为构建工具管理项目的依赖关系和构建...

    模拟当当网java web源代码

    【标题】"模拟当当网java web源代码"是一个项目,旨在通过Java Web技术复现当当网的主要功能。这个项目对于学习Java Web开发、理解电商网站架构以及实践MVC设计模式具有很高的参考价值。 【描述】"模拟当当网的java...

    Java基于SSM(Spring+SpringMVC+MyBatis)无纸化考试模拟系统.zip

    Java基于SSM(Spring+SpringMVC+MyBatis)无纸化考试模拟系统是一个典型的企业级Web应用程序,它利用了Java技术栈的三个核心框架:Spring、SpringMVC和MyBatis,来构建一个高效、灵活且易于维护的考试平台。...

    模拟滴滴打车Java项目

    滴滴打车Java项目是一个基于Javaweb技术的模拟应用,旨在通过SSH(Spring、Struts2、Hibernate)三大框架的集成,实现类似滴滴出行的实际功能。SSH框架是Java领域中常用的MVC(模型-视图-控制器)架构模式的实现,...

    基于Java和Spring Boot的微服务实战12306售票系统设计源码

    本项目为“基于Java和Spring Boot的微服务实战12306售票系统设计源码”,包含111个文件,其中包括48个Java源文件、12个HTTP接口文件、11个XML配置文件、8个JavaScript脚本、8个Vue单文件组件、4个JSON数据文件、4个...

    Java Web模拟项目 ssm框架开发 购物平台 mysql数据库 前后端

    在这个Java Web模拟项目中,我们将会探讨如何使用SSM(Spring、SpringMVC、MyBatis)框架来构建一个购物平台。SSM是Java企业级应用开发中的常见组合,它提供了强大的模型-视图-控制器架构支持以及持久层操作的能力。...

    java 当当网 购书模拟

    综上所述,"java 当当网 购书模拟"项目涵盖了Java Web开发的多个方面,包括但不限于MVC架构、数据库操作、前端技术、框架应用以及安全控制等。通过实践这样的项目,开发者可以提升自己的全栈开发能力,对整个Web应用...

    JAVA-web模拟售票系统程序

    【JAVA-web模拟售票系统程序】 在信息技术领域,JAVA-web技术被广泛应用于开发各种Web应用程序,包括售票系统。这个“JAVA-web模拟售票系统程序”旨在提供一个实战性的学习平台,帮助开发者理解和掌握JAVA-web开发...

    基于scrcpy,以启动java服务的形式代替原有项目exe,可以在页面进行展示的设备平台化的项目.zip

    后端可能采用Java的Spring Boot或Django等框架来快速构建服务端逻辑,处理来自前端的请求,与设备进行通信,并管理数据库等持久化存储。 9. **设备适配与兼容性**: 为了确保在不同设备上运行良好,开发者可能...

    一个基于Java、Spring、SpringMVC、Mybatis、MySQL的玫瑰商城。.zip

    【标题】中的“一个基于Java、Spring、SpringMVC、Mybatis、MySQL的玫瑰商城”指的是一款使用Java编程语言,结合Spring框架、SpringMVC模块以及Mybatis持久层框架和MySQL数据库构建的电子商务系统。这个系统可能包含...

    Java Web大作业(Spring Boot + Vue).zip

    【Java Web大作业(Spring Boot + Vue)】项目是一个典型的现代Web开发实例,结合了Java后端框架Spring Boot和前端JavaScript框架Vue.js。这个项目旨在帮助大学生深入理解Java Web开发,通过实际操作来巩固和应用所...

    spring+websocketdemo

    3. **WebSocket客户端**:在前端,可以使用JavaScript的WebSocket API或者库(如Stomp.js、sockjs-client)来建立WebSocket连接,订阅和发送消息。例如,通过`new WebSocket('ws://localhost:8080/ws')`创建连接,...

    Java本科毕业设计SpringBoot+Vue 驾校理论课模拟考试系统源码.zip

    Java本科毕业设计SpringBoot+Vue 驾校理论课模拟考试系统源码.zip Java本科毕业设计SpringBoot+Vue 驾校理论课模拟考试系统源码.zip Java本科毕业设计SpringBoot+Vue 驾校理论课模拟考试系统源码.zip Java本科毕业...

    Android客户端+基于Spring的Java后台实现的无线电监测小项目

    该项目是一个集成Android客户端和基于Spring框架的Java后台系统的无线电监测应用。这个小项目展示了如何将移动设备与服务器端进行高效的数据交互,以实现对无线电频谱的监测功能。以下是关于这个项目的具体知识点...

Global site tag (gtag.js) - Google Analytics