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相关注解:
-
@Configuration注解:声明配置类代表配置类,在类上贴,表示该类有
applicationContext.xml文件的作用。 -
@Bean注解:声明一个bean@Bean: 在Spring的配置类的方法上贴该注解后, 该方法返回的bean对象会交给Spring容器管理 , 替代applicationContext.xml中的bean标签 -
@ComponentScan注解@Component贴上之后表示该类要交给spring管理,需要在配置类进行扫描;@ComponentScan直接扫描到加了@Component的类 -
@RunWith(SpringJUnit4ClassRunner.class)开启springTeat@ContextConfiguration(classes={配置类1.class, 配置类2.class, ...})指定具体的配置类 -
@SpringBootTest开启SpringBoot的测试@RunWith(SpringRunner.class)这种方式不需要手动去指定具体的配置类,它会自动去找配置类 -
@Import和@ImportResource导入资源文件@Import(OtherConfig.class)导入配置类;@ImportResource("classpath:applicationContext.xml")注解导入XML配置(引入xml文件,很少见); -
@PropertySource+@Value导入外部属性配置文件,取文件中的值:@PropertySource("classpath:db.properties")注解导入外部属性文件@Value("${jdbc.url}")去取属性 -
SpringBoot自动配置原理:@SpringBootApplication内部是三大注解的集成:run方法: -
启动
SpringBoot应用 -
加载自定义的配置类,完成自动配置功能
-
把当前项目配置到嵌入的
Tomcat服务器 -
启动嵌入的
Tomcat服务器 -
@SpringBootConfiguration:标记配置类(项目中只有一个) -
@EnableAutoConfiguration:开启自动配置功能 -
@ComponentScan:开启组件扫描

SpringBoot定时任务处理的注解:
-
@Component:在定时任务类上贴,交给spring管理 -
@Scheduled(cron = "0/5 * * * * *"):贴在定时任务的方法上,定时任务标签:cron制定任务计划,什么时候执行该方法,周期是多少 -
@EnableScheduling:在主配置类上使用@EnableScheduling注解开启对定时任务的支持,定时任务才会生效;

浙公网安备 33010602011771号