package com.taobao.easyweb.core.bean; import com.taobao.easyweb.core.app.App; import com.taobao.easyweb.core.groovy.annotation.AnnotationParser; import groovy.lang.GroovyObject; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; import java.io.File; import java.lang.annotation.Annotation; @Component("ewBeanAnnotationParser") public class BeanAnnotationParser extends AnnotationParser { public BeanAnnotationParser() { super(); } @Override public boolean isParse(Annotation annotation) { return annotation instanceof Bean; } @Override public void parse(App app, Annotation annotation, File file, Object target, GroovyObject groovyObject) { Bean bean = (Bean) annotation; String name = bean.name(); if (StringUtils.isBlank(name)) { name = bean.value(); } if (StringUtils.isBlank(name)) { name = groovyObject.getClass().getSimpleName(); String s = name.substring(0, 1); name = s.toLowerCase() + name.substring(1, name.length()); } BeanFactory.regist(app, name, groovyObject); } }