文章目录
模仿Spring起一个类似的包
- Controller
- Service
- Repository
- Component
org.simpleframework.core.annotation
下面模仿Spring创建如下的注解.
创建不同的注解的作用是根据不同的注解, 去做不同的处理.
例如Controller 注解可能要解析映射.
Service 注解要 去开启事务.
Repository 要去执行sql等
Controller
package org.simpleframework.core.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 用于Controller的注解
* @author
*/
// 该注解用于类上
@Target(ElementType.TYPE)
// 用于反射解析
@Retention(RetentionPolicy.RUNTIME)
public @interface Controller {
}
Service
package org.simpleframework.core.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 用于Service的注解
* @author
*/
// 该注解用于类上
@Target(ElementType.TYPE)
// 用于反射解析
@Retention(RetentionPolicy.RUNTIME)
public @interface Service {
}
Repository
package org.simpleframework.core.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 用于Repository dao的注解
* @author
*/
// 该注解用于类上
@Target(ElementType.TYPE)
// 用于反射解析
@Retention(RetentionPolicy.RUNTIME)
public @interface Repository {
}
Component
package org.simpleframework.core.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
// 用于反射解析
@Retention(RetentionPolicy.RUNTIME)
public @interface Component {
}