思路
通过注解拦截到需要进行数据持久化操作的类,获取所所携带的注解信息,及dao层接口的请求路径,通过工厂创建实例注入到所需的类中
步骤
1构建所需的注解
mapper注解,用于注册dao层接口
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Mapper {
public String name() default "";
}
Dbsupport注解,用于注入mybatis实例
@Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Dbsupport {
public String mapperName() default "";
}
2在dao层中进行mapper注解将其注册到baen仓库
@Mapper(name="testMapper")
public interface testMapper {
public String getUser();
}
3在需要调用dao层的目标类中进行Dbsupport注解,注入依赖