Java项目笔记之SpringBoot注解汇总

Mybatis注解:

@Param:Mapper接口中的方法传递多个参数的时候使用:相当于构建一个 Map 对象,key 为注解 @Param 的值,value 为参数的值。

 

spring的注解:
属性注入注解:
  • @Autowire:Spring 的;

  • @Resource:JavaEE 的 ;

两者作用是一样,完成属性或字段的注入,注入的是 bean(取代 XML property ref 元素)。共同点都需要配置 <context:annotation-config />注解扫描器。

不同点:

Autowired 注解寻找 bean 的方式:(先按类型在按名字)

Resource 注解寻找 bean 的方式:(先按名字再按类型)

 

  • @value :注解可以解决常量注入的property标签

IoC注解:

需要配置IoC DI注解解析器:让IoC注解或者DI注解起作用,发现某类贴有@Component注解,Spring就会创建这个类的对象存在Spring容器中

  • @Repository 用于标注数据访问组件,即 DAO 组件。

  • @Service 用于标注业务层组件

  • @Controller 用于标注控制层组件(如 Struts2 中的 Action,SpringMVC 的 Controller)。

  • @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。标注除上其他组件。

 

其他配置注解:
  • @Scope     贴在类上,标明 bean 的作用域。

  • @PostConstruct:贴在方法上,标明 bean 创建完后调用此方法。

  • @PreDestroy :   贴在方法上,标明容器销毁时调用此方法。

 

SpringMVC注解:

@RequestMapping("/xxx"):映射地址,可贴在类或方法上;

需要配置MVC注解解析器:<mvc:annotation-driven/>

@RequestParam :请求参数名和 Controller方法的形参不同名时,注解贴在形参上,设置对应的请求参数名称。

@ModelAttribute 注解:@ModelAttribute("xx"):可以贴在方法和形参上,形参前提是自定义类型,会存到模型里,可在视图中获取到。若贴了这个注解,可以自定义 key,再通过这个 key 获取。

@DateTimeFormat(pattern = "yyyy-MM-dd"):前台往后台传参转换为 Date 类型,在实体类和controller中Date类型处贴;

@ResponseBody:定方法返回类型为 JSON格式的类型。

 

Restful相关注解:
  • @RestController

    @Controller + @ResponseBody组成

  • @PathVariable

    通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中

    URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。

  • @RequestMapping

  • @GetMapping

  • @PostMapping

  • @PutMapping

  • @DeleteMapping


SpringBoot相关注解:
  1. @Configuration注解:声明配置类

    代表配置类,在类上贴,表示该类有applicationContext.xml文件的作用。

  2. @Bean注解:声明一个bean

    @Bean: 在Spring配置类的方法上贴该注解后, 该方法返回的bean对象会交给Spring容器管理 , 替代applicationContext.xml中的bean标签

     

  3. @ComponentScan注解

    @Component贴上之后表示该类要交给spring管理,需要在配置类进行扫描;

    @ComponentScan直接扫描到加了@Component的类

  4. @RunWith(SpringJUnit4ClassRunner.class)开启springTeat@ContextConfiguration(classes={配置类1.class, 配置类2.class, ...})指定具体的配置类

  5. @SpringBootTest开启SpringBoot的测试

    @RunWith(SpringRunner.class)这种方式不需要手动去指定具体的配置类,它会自动去找配置类

     

  6. @Import@ImportResource导入资源文件

    @Import(OtherConfig.class)导入配置类;

    @ImportResource("classpath:applicationContext.xml")注解导入XML配置(引入xml文件,很少见);

  7. @PropertySource + @Value  导入外部属性配置文件,取文件中的值:

    @PropertySource("classpath:db.properties")注解导入外部属性文件

    @Value("${jdbc.url}")去取属性

     

  8. SpringBoot自动配置原理:

    @SpringBootApplication内部是三大注解的集成:

    run方法:

     

     

    • 启动SpringBoot应用

    • 加载自定义的配置类,完成自动配置功能

    • 把当前项目配置到嵌入的Tomcat服务器

    • 启动嵌入的Tomcat服务器

    • @SpringBootConfiguration:标记配置类(项目中只有一个)

    • @EnableAutoConfiguration:开启自动配置功能

    • @ComponentScan:开启组件扫描

       

 

 

 


SpringBoot定时任务处理的注解:
    • @Component:在定时任务类上贴,交给spring管理

    • @Scheduled(cron = "0/5 * * * * *"):贴在定时任务的方法上,定时任务标签:cron制定任务计划,什么时候执行该方法,周期是多少

    • @EnableScheduling:在主配置类上使用@EnableScheduling注解开启对定时任务的支持,定时任务才会生效;

posted @ 2020-09-23 09:12  星宇东东  阅读(183)  评论(0)    收藏  举报