传统的三层架构
- controller 控制层
- service 业务层
- dal 数据访问层
目前常见的web开发基本是这个架构,其中比重最大的是service层,dal层基本依赖于mybatis等框架解放了出来,其实controller层对于我们来说意义也是不大的,所以本期打算实现一个类似网关的框架。
好处
- 提升效率,解放controller
- 统一入口,便于规范
框架设计
代码实现
自定义注解
Target({
ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Interface {
String method() default "";
}
启动装载bean
@Component
public class GateWayClassLoader implements ApplicationContextAware, InitializingBean {
private ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
public void afterPropertiesSet() {
BeanContainer beanMap = BeanContainer.newBeanContainer