1.@Override //用来标识重新方法

2.@Target //标识自定义注解可使用的位置

  1. ElementType.TYPE 应用于类的元素
  2. ElementType.METHOD 应用于方法级
  3. ElementType.FIELD 应用于字段或属性(成员变量)
  4. ElementType.ANNOTATION_TYPE 应用于注解类型
  5. ElementType.CONSTRUCTOR 应用于构造函数
  6. ElementType.LOCAL_VARIABLE 应用于局部变量
  7. ElementType.PACKAGE 应用于包声明
  8. ElementType.PARAMETER 应用于方法的参数

3.@Retention //标记自定义注解的生命周期

  1. SOURCE 在源文件中有效(即只在源文件保留)
  2. CLASS class文件中有效(即只在class保留)
  3. RUNTIME 在运行时有效(即运行时保留)

4.@Configuration //标识当前类是配置类

5.@Bean //交给spring中的bean容器保管

6.@ComponentScan(“包路径”) //定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中

7.@Scope(“ “)

  1. singleton //单例对象,默认单例,节省内存空间
  2. prototype //多例对象,默认懒加载
  3. 懒加载:对象使用时创建,懒加载的控制只对单例生效(多例默认懒加载机制)

8.@PostConstruct //标识初始化方法

9.@PreDectroy //标识销毁方法

10.@Component //标识类,将类交给spring容器保管

  1. * @Component/@Bean区别:
  2. * 1.@Component spring容器通过反射自动创建对象
  3. * @Bean 是用户自己手动创建对象
  4. * 2.@Component 标识类的
  5. * @Bean 标识配置类中的方法
  6. * 3.@Component 对象的Id是类名首字母小写
  7. * @Bean 对象的Id是方法名

11.@Autowired //自动注入,默认set注入

12.@Qualifier //和@Autowired一起使用,bean容器中有多个相同类型时,做区分

13.@Value //为属性赋值,取值方式: 从spring容器中获取数据 ${pro中的key}

14.@PropertySource

  • @PropertySource注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件。

    15.@Documented //元注解,用来做标识,没有实际作用

    image.png

    16.@Repository //将mapper注册到mybaitis中

    17.@Controller //控制层

    18.@Service //业务层

    19.@Mapper //数据层

    20.@Aspect //标识当前类是一个切面

    21.@Pointcut //标识切入点表达式

    1. //bean/within 都是粗粒度的匹配,匹配的是类(类中还有方法/方法可以重载!!!)
    2. @Pointcut("bean(对象的id)") //bean(“对象的ID”) 只能匹配固定的类/对象 一个
    3. @Pointcut("within(包名.类名)") //可以匹配多个类
    4. @Pointcut(“execution(返回值类型 包名.类名.方法名(参数列表))”)
    5. public void pointCut(){
    6. }

    22.@Before //前置通知,在目标方法运行前执行

    24.@AfterReturning //后置通知,在目标方法运行之后执行

    _returning属性: 后置通知获取返回值的属性_

    25.@AfterThrowing //目标方法执行时,抛出异常时执行

    _ throwing属性:抛出异常的属性_

    26.@After //不管目标方法执行是否正确,都要执行

    27.@Around //环绕通知,可以控制目标方法是否执行

    28.@Order(value = 1) //数字越小,越先执行

    29.@EnableAspectJAutoProxy(proxyTargetClass = true) //强制使用CGLIB代理

    30.@Lazy //懒加载,用户使用时创建

    31.@RequestMapping(“”) //请求路径与后台服务器之间的映射

    32.@ResponseBody //将服务器的返回值转化为json串,如果返回的时String类型,则按照自身返回

    33.@PathVariable(“参数名”) //动态获取路径中的数据,要求名称必须匹配

    34.新增: post请求类型 @PostMapping(“”)
    35.删除: delete请求类型 @DeleteMapping(“”)
    36.修改: put请求类型 @PutMapping(“”)
    37.查询: get请求类型 @GetMapping(“”)

    38.@RestController //@RequestBody + @Controller\

    39.@CrossOrigin //专门解决跨域问题

    40.@