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);
}
分享到:
相关推荐
使用 Playframework 2.x 构建基于 JAVA8 的 RESTful 服务。 使用原生 SQL 构建基于 DBUtils 的 DAO 层。 使用 flyway 进行数据库迁移。 Flyway支持sbt、maven等,支持java/scala等API。 (DAO测试基于localhost/...
此外,考虑到现代Web应用对性能的要求,"sillycat-ui"可能也进行了优化,比如懒加载策略,只在需要时加载组件,减少首屏加载时间;或者使用Tree Shaking技术,去除未使用的代码,减小打包后的体积。 最后,文档是...
傻猫 发展 入门 需要执行以下步骤 安装所需的软件包 $ sudo apt install scons gcc-avr avr-libc avrdude 安装可选软件包 $ sudo apt install astyle valgrind 安装 $ sudo apt install cmake ...
这个名为 "sillycat-camel" 的项目,可能是某位开发者为了学习或者实践Apache Camel而创建的一个示例项目。从标题和描述来看,这可能是一个教程或者指导,旨在帮助用户了解如何使用Apache Camel进行自我学习。 ...
【sillycat2.github.io:水水水】项目是一个基于GitHub Pages构建的个人博客网站,由用户"傻猫2"创建。GitHub Pages是GitHub提供的一项免费服务,允许用户托管静态网页,通常用于个人简历、博客或者项目展示。在这个...
傻猫代理 代理到不同位置的代理。
傻猫火花 去做 添加单元测试 支持Spark SQL 支持火花流 ...bin / spark-submit-class com.sillycat.spark.ExecutorApp /Users/carl/work/sillycat/sillycat-spark/target/scala-2.10/sillycat-spark-assembly