Java-springBoot常用注解讲解

一、@Configuration 注解和@Bean 注解

  1.  @Configuration 可以理解为spring xml配置中的<beans>标签,@Bean可理解为用spring的时候xml里面的<bean>标签
  2. @Configuration 注解的是类,@Bean 注解域为方法,对象
  3. 在Spring Boot 5.2之后的@Configuration注解多了一个属性proxyBeanMethods,默认为true

二、@Component

  1. 官方解释:带此注解的类,当使用基于注解的配置和类路径扫描的时候,这些类就会被实例化.相当于配置文件中的<bean id =" ", class=" "/>
  2. 泛指组件,当组件不好归类时,就用@Component注解,启动时,用@ComponentScan去扫描

三、 @Controller,@Service,@Repository

        1. 像@Controller@Service,@Repository需要注解bean的话,也需要在启动类增加@ComponentScan去扫描 

      2. @Controller[是@component的扩展]用于标注控制层组件,类似之前的配置中struts中的action

         

      3. @Service[是@component的扩展]用于标注业务层组件(注入DAO)

        

        4. @Repository[是@component的扩展]用于标注数据访问组件,即DAO组件,实现DAO访问

         

四、@Autowired

  1. @Autowired 是一个注释,它可以对类成员变量、方法及构造函数山进行标注,让 spring 完成 bean 自动装配的工作。
  2. 如果@Autowired 注入到是一个类上相当于将一个实例注入到另一个实例中

         

五、@EnableWebSecurit 和@EnableGlobalMethodSecurity

  1. 当我们想要开启spring方法级安全时,只需要在任何 @Configuration实例上使用@EnableWebSecurit和 @EnableGlobalMethodSecurity 注解就能达到此目的
  2. @EnableWebSecurit 是一个组合注解,一般都会和@EnableGlobalMethodSecurity共同使用
  3. @EnableGlobalMethodSecurity 中有一个参数
    1. prePostEnabled=true会解锁@PreAuthorize和@PostAuthorize两个注解
    2. @PreAuthorize注解会在方法执行前进行验证
    3. @PostAuthorize注解在方法执行后进行验证 

 六、RestController 和Controller 区别

  1.  RestController的作用相当于[ControllerResponseBody]共同作用的结果,但采用RestController请求方式一般会采用Restful风格的形式。
  2. RestController 作用:可以声明该类是controller层的bean,并且将结果直接提交而不经过视图解析并且将结果能自动封装成json格式返回前端

七、@Retention 

  1.  @Retention是用来修饰注解的,注解的注解
  2. @Retention修饰注解,用来表示注解的生命周期,生命周期的长短取决于@Retention的属性RetentionPolicy指定的值

     

取值描述作用范围使用场景
RetentionPolicy.SOURCE

1. 注解只保留在源文件

2.当java文件编译成class文件,就会消失

源文件

只是做一些检查性的操作,

比如 @Override 

RetentionPolicy.CLASS

1. 注解被保留到class文件

2. jvm加载class文件时候被遗弃,这是默认的生命周期

class文件

(默认)

要在编译时进行一些预处理操作
RetentionPolicy.RUNTIME

1. 注解不仅被保存到class文件中

2. jvm加载class文件之后,仍然存在

运行时也存在需要在运行时去动态获取注解信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱丫爱

你的鼓励是我创作最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值