您当前的位置: 首页 >  spring

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

模仿Spring创建自定义注解

java持续实践 发布时间:2021-03-06 11:01:47 ,浏览量:1

文章目录
      • Controller
      • Service
      • Repository
      • Component
模仿Spring起一个类似的包 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 {

}

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0389s