Spring 常见注解

Spring 常见注解

1.常见注解

持续更新…

  • 1.Bean的分类:
    @Service: 注解在类上,表示这是一个业务层bean
    @Controller:注解在类上,表示这是一个控制层bean
    @RestController @RestController 是一个结合了 @ResponseBody 和 @Controller 的注解
    @Repository: 注解在类上,表示这是一个数据访问层bean
    @Component : 注解在类上,表示通用bean相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议

  • 2.Bean注入:
    @Autowired:按类型装配
    @Resource: 按名称装配

  • 3.Controller常用:
    @RequestMapping 用来定义访问的URL,你可以为整个类定义一个
    @RequestParam在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”) ,例如:@RequestParam(“id”) 注解
    @PathVariable用于方法中的参数,表示方法参数绑定到地址URL的模板
    @RequestHeader 获取请求的头部信息
    @ResponseBody 该注解用于将Controller的方法返回的对象
    @ModelAttribute 可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中
    @SessionAttributes 即将值放到session作用域中,写在class上面。
    @CookieValue 获取cookie信息

  • 4.配置类常用:
    @Configuration:注解在类上,表示这是一个IOC容器,相当于spring的配置文件,java配置的方式。 IOC容器的配置类
    @Bean: 注解在方法上,声明当前方法返回一个Bean
    @PostConstruct:注解在方法上,构造函数执行后执行。
    @PreDestroy: 注解在方法上,在Bean销毁前执行。
    @ComponentScan:注解在类上,扫描标注了@Controller等注解的类,注册为bean
    @Lazy(true):  延迟初始化
    @Scope:注解在类上,描述spring容器如何创建Bean实例。
    @Value:注解在变量上,从配置文件中读取。
    @Profile:注解在方法 类上 在不同情况下选择实例化不同的Bean 特定环境下生效
    @EnableAutoConfiguration 这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring
    @Profiles Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。
    @ControllerAdvice 包含@Component 可以被扫描到。统一处理异常。
    @ExceptionHandler 用在方法上面表示遇到这个异常就执行以下方法。
    @SpringBootApplication:@SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration:约定优于配置

  • 5.Servlet常用:
    @WebServlet(name=“Servlet3FirstDemo”,value="/Servlet3FirstDemo")

  • 6.Filter常用:
    @WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器

2.自定义注解

2.1 定义Annotation
使用 @interface关键字自定义annotation

public @interface MyAnnotation {      
     String name();  有一个name的成员变量
     int age() default 20; 缺省值
}

2.2 提取Annotation信息

<A extends Annotation> A getAnnotation(Class<A> annotationClass);
返回该元素上存在的、指定类型的注解,如果不存在,返回null;

<A extends Annotation> A getDeclaredAnnotation(Class<A> annotationClass);
java8新增,获取直接修饰该元素,且指定类型的Annotation,如果不存在,返回null

Annotation[] getAnnotations();
返回该元素上存在的所有注解

Annotation[] getDeclaredAnnotations();
返回元素上存在的所有注解

boolean isAnnotationPresent(Class<? extends Annotation> annotationClass);
是否存在指定类型的注解,存在true,不存在false

<A extends Annotation> A[] getAnnotationsByType(Class<A> annotationClass);
<A extends Annotation> A[] getDeclaredAnnotatinosByType(Class<A> annotationClass)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值