`
sillycat
  • 浏览: 2551880 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Sillycat Framework(I)Enhancement of Easygroovyplugin

阅读更多
Sillycat Framework(I)Enhancement of Easygroovyplugin

1. enhance the plugin, add 'source-key' to the configuration

Codes in GroovyScanBeanDefinitionParser:
String key = element.getAttribute("source-key");
if (null == key || "".equalsIgnoreCase(key.trim())
|| "null".equals(key.trim())) {
key = "groovy.file.path";
}
String filepath = SystemConfiguration.getString(key);

configuration in xsd, groovy.xsd:
<xsd:complexType>
<xsd:attribute name="source-pattern" type="xsd:string"
use="required" />
<xsd:attribute name="source-key" type="xsd:string" />
</xsd:complexType>

configuration in easygroovy.properties:
easymarket.groovy.file.path=file:/home/luohua/work/restserver

configuration in spring:
<groovy:scan source-pattern="/groovy/com/sillycat/easymarket/**/*.groovy"
                              source-key="easymarket.groovy.file.path"/>

2. give the bean a id in detail

codes in GroovyScanBeanDefinitionParser.java:

String beanId = parseBeanId(resource.getFile().getAbsolutePath());
//bd.setBeanClassName(beanId);
logger.info("register beanId=" + beanId);
parserContext.getRegistry().registerBeanDefinition(beanId, bd);

private String parseBeanId(String fullName) {
String beanId = "";
int start = fullName.lastIndexOf("/") + 1;
int end = fullName.indexOf(".groovy");
beanId = fullName.substring(start, end);
//beanId.replace("Impl", "");
beanId = beanId.substring(0,1).toLowerCase() + beanId.substring(1);
end = beanId.lastIndexOf("Impl");
if(end > 0){
beanId = beanId.substring(0,end);
}
return beanId;
}

The JUNIT testcase can be run then:

public void setUp() throws Exception {
super.setUp();
personService = (PersonService) ctx.getBean("personService");
}
public void tearDown() throws Exception {
super.tearDown();
}
public void testGet(){
Person p = personService.get(Integer.valueOf(1));
assertNotNull(p);
System.out.println(p);
}
分享到:
评论

相关推荐

    sillycat-playrest:使用 Playframework 2.x 构建基于 JAVA8 的 RESTful 服务

    使用 Playframework 2.x 构建基于 JAVA8 的 RESTful 服务。 使用原生 SQL 构建基于 DBUtils 的 DAO 层。 使用 flyway 进行数据库迁移。 Flyway支持sbt、maven等,支持java/scala等API。 (DAO测试基于localhost/...

    sillycat-ui:所有与UI相关的功能和插件

    此外,考虑到现代Web应用对性能的要求,"sillycat-ui"可能也进行了优化,比如懒加载策略,只在需要时加载组件,减少首屏加载时间;或者使用Tree Shaking技术,去除未使用的代码,减小打包后的体积。 最后,文档是...

    sillycat:SillyCat是一种无线传感器系统

    傻猫 发展 入门 需要执行以下步骤 安装所需的软件包 $ sudo apt install scons gcc-avr avr-libc avrdude 安装可选软件包 $ sudo apt install astyle valgrind 安装 $ sudo apt install cmake ...

    sillycat-camel:告诉我自己如何使用骆驼

    这个名为 "sillycat-camel" 的项目,可能是某位开发者为了学习或者实践Apache Camel而创建的一个示例项目。从标题和描述来看,这可能是一个教程或者指导,旨在帮助用户了解如何使用Apache Camel进行自我学习。 ...

    sillycat2.github.io:水水水

    【sillycat2.github.io:水水水】项目是一个基于GitHub Pages构建的个人博客网站,由用户"傻猫2"创建。GitHub Pages是GitHub提供的一项免费服务,允许用户托管静态网页,通常用于个人简历、博客或者项目展示。在这个...

    sillycat-proxy:代理到不同位置的代理

    傻猫代理 代理到不同位置的代理。

    傻猫火花

    傻猫火花 去做 添加单元测试 支持Spark SQL 支持火花流 ...bin / spark-submit-class com.sillycat.spark.ExecutorApp /Users/carl/work/sillycat/sillycat-spark/target/scala-2.10/sillycat-spark-assembly

Global site tag (gtag.js) - Google Analytics