注解

1、元注解

1、@Target注解

表示我们的注解用在什么地方 ,ElementType(枚举)为参数。

         

                                                       ElementType枚举 

TYPE表示类级别 
FIELD字段声明(包括枚举常量)级别 
METHOD方法级别 
PARAMETER参数级别 
CONSTRUCTOR构造函数级别 
LOCAL_VARIABLE局部变量级别 
ANNOTATION_TYPE注释类型 
PACKAGE包声明 
TYPE_PARAMETER类型参数1.8
TYPE_USE使用类型1.8

 

2、@Retention注解

表示我们注解在什么地方有效,如果定义runtime则在class和source有效。

                        RUNTIME>CLASS>SOURCE

                                            RetentionPolicy枚举
SOURCE源码级别
CLASS类级别
RUNTIME运行时(一般情况下都是用这个)

3、@Documented注解

表示是否将注解生成在javadoc(文档)中

4、@Inherited注解

        表示子类可以继承父类的注解

2、衍生注解

1、@Primary注解

1.1、解释:

当一个接口拥有不同的实现类时,使用@Autowired注解时会报

org.springframework.beans.factory.NoUniqueBeanDefinitionException

方案1:使用@Qualifier注解,选择一个对象的名称,通常比较常用

方案2: @Primary可以理解为默认优先选择,同时不可以同时设置多个,内部实质是设置BeanDefinition的primary属性。

2、@Bean 基础声明

Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。

SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。

3、 @Configuration

用@Configuration注释 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。

4、@Component

@Component就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

5、@Deprecated

简单来讲就是,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。

5、@Scope

@Scope默认是单例模式,即scope="singleton"。

另外scope还有prototype、request、session、global session作用域。scope="prototype"多例

1.singleton单例模式,

  全局有且仅有一个实例

2.prototype原型模式,

  每次获取Bean的时候会有一个新的实例

3.request  

        request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效,

4.session 

         session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效

5.global session

         global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个 portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。

5、@preAuthorize

       方法前执行验证

6、@preAuthorize

       方法后执行验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值