当前位置: 首页 > news >正文

怎么做微信小说网站中小企业网站优化

怎么做微信小说网站,中小企业网站优化,家装网站建设公司,做翻译兼职的网站是哪个Groovy咱使用不再什么大项目上,可以用来实现规则引擎,定义一个groovy文件通过spring动态载入,在groovy里面调用java的方法,处理业务对象。我感觉这个比规则引擎更灵活~~ 1.与Spring集成 Spring 2.0的Scrip…

Groovy咱使用不再什么大项目上,可以用来实现规则引擎,定义一个groovy文件通过spring动态载入,在groovy里面调用java的方法,处理业务对象。我感觉这个比规则引擎更灵活~~

1.与Spring集成
Spring 2.0的Script Language集成,是让动态语言编写的类,可以良好的融入java/spring的大框架内,洗白成application context中的普通一员,拥有与其他pojo良好的交互与注入能力。
      很简单,SpringSide 里的\springside-bookstore\src\...\plugins\webservice\applicationContext-webservice-client.xml文件已说明了一切用法。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:lang="http://www.springframework.org/schema/lang"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd">

    <!--Groovy版本的Web Service Client-->
    <lang:groovy id="BookServiceClient"
             refresh-check-delay="60000"
             script-source="classpath:org/springside/bookstore/plugins/webservice/service/BookServiceClient.groovy">
           <lang:property  name="serviceUrl" value="http://localhost:8080/springside/service/BookService"/>
    </lang:groovy>
</beans>

  注意spring 2.0为语言集成提供了<lang:language>的简写法,详细见Spring的参考文档第24章   
 第一个属性 refresh-check-delay,每隔一段时间扫描一次脚本的变化,reload it。 
 第二个属性script-source 指向scriptsouce, <lang:property>演绎了Spring最喜爱的IOC,将serviceUr变量注入。 
    当然,世上没有奇迹,Spring 与Groovy、JRuby 是靠一个Interface来定义连接点的。Spring使用BookServiceClient Bean 时,实际使用的是BookService接口。 Groovy因为是Java近亲,所以可以在类里面直接implements BookService接口,而JRuby则必须把interface作为构造参数传给RubyScriptFactory。这样有个不爽的地方,在Groovy里必须显式定义接口的所有函数和参数、返回值的类型。Ruby的Miss Method与Groovy的MOP反射顿时没了用武之地。 
    舞台已经搭好,界限已经模糊,接下来就和AOP一样,看大家的想象力了。 

java 代码

  1. 1、定义Java接口包含在Java中需要调用的Groovy方法  
  2. public interface IFoo {   
  3.     public Object run(Object foo);   
  4. }  
  5.   
  6. 2、创建Groovy类实现该接口  
  7. class Foo implements IFoo {   
  8.   
  9.        public Object run(Object foo) {  
  10.               println 'Hello World!'  
  11.               x = 123  
  12.               foo * 10  
  13.        }  
  14. }  
  15.   
  16. 3、动态载入Groovy类,创建接口实例,调用接口中定义的方法  
  17. import groovy.lang.GroovyClassLoader;  
  18.   
  19.    
  20.   
  21. import java.io.File;  
  22.   
  23.    
  24.   
  25. public class InvokeGroovy {   
  26.   
  27.     public static void main(String[] args) {  
  28.   
  29.         ClassLoader cl = new InvokeGroovy().getClass().getClassLoader();  
  30.   
  31.         GroovyClassLoader groovyCl = new GroovyClassLoader(cl);  
  32.   
  33.         try {  
  34.   
  35.             Class groovyClass = groovyCl.parseClass(new File("src/Foo.groovy"));  
  36.   
  37.             IFoo foo = (IFoo) groovyClass.newInstance();  
  38.   
  39.             System.out.println(foo.run(new Integer(2)));  
  40.   
  41.         } catch (Exception e) {  
  42.   
  43.             e.printStackTrace();  
  44.   
  45.         }  
  46.   
  47.     }  
  48.   
二、

下面的示例说明如何在java中调用Groovy脚本.准备:到下载groovy的最新版本包,并将相关jar, 包导入工程。然后,建立脚本文件foo.groovy

class GroovyCalculator

 {

int add(int x, int y)

 {

x +y +x*2

}

}

然后建立Java文件GroovyTest.java

import java.io.File;

import groovy.lang.GroovyClassLoader;

import groovy.lang.GroovyObject;

public class GroovyTest {

public static void main(String[] args) throws Exception

 {

         ClassLoader parent = ClassLoader.getSystemClassLoader();

         GroovyClassLoader loader = new GroovyClassLoader(parent);

         Class gclass = loader.parseClass(new File("foo.groovy"));

         GroovyObject groovyObject = (GroovyObject) gclass.newInstance();

         Object obj = groovyObject.invokeMethod("add", new Object[] {new Integer(2), new Integer(1) });            

         System.out.println(obj);

}

}

运行程序结果如下:

7


http://hi.baidu.com/peng3409/blog/item/128ed539c239f7f73a87ceff.html
http://www.lbrq.cn/news/2460817.html

相关文章:

  • 牙科网站模板seo专业技术培训
  • 新手做网站做那个中国营销传播网
  • 什么网站可以做英语题注册网站平台
  • 为赌博网站做代理怎么样才可以在百度上打广告
  • 动态网站标题怎么做搜索引擎营销sem
  • 河东做网站的公司电商代运营公司
  • 网页制作与网站建设pdf苏州网站制作
  • 电商网站后台功能bt兔子磁力搜索
  • 网络下载的网站模板能直接上传到虚拟主机百度影响力排名顺序
  • 做网站销售的宁波seo服务推广
  • 做百度百科的网站企业营销策略
  • qq小程序权限设置深圳百度快照优化
  • 教育网站解决方案宁德市旅游景点大全
  • 哪个网站可以学做包子seo快速排名软件首页
  • 张艺兴粉丝做的网站seo网络推广技术员招聘
  • 江门市建设银行网站情感营销经典案例
  • 住房城乡建设网站查询宜兴百度推广公司
  • 铭万做的网站怎么样百度推广服务
  • 山东青岛网站建设公司网络舆情分析
  • 网站备案代理广州抖音推广
  • win2008iis7配置网站企业查询信息平台
  • 装饰设计软件湖北seo服务
  • 装饰网站建设的方案ppt谈谈自己对市场营销的理解
  • wordpress百度网盘什么叫seo
  • 网站设计师培训班推广赚钱app哪个靠谱
  • 建设政府门户网站百度网页排名怎么提升
  • 长安大学门户网站是谁给做的网站标题seo外包优化
  • 网上网站怎么做友情链接外链
  • 大连网站排名优如何去推广一个app
  • 凡客vancl的网站标题淘宝指数入口
  • VTK交互——ImageRegion
  • Linux用户
  • VTK交互——Callback
  • nginx的 `root` 和 `alias` 笔记250726
  • 大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
  • C/C++---I/O性能优化