实用干货:SpringBoot中必须掌握的27个注解.pdf
oot会根据类路径中的jar包来猜测应用的类型,并自动配置相应的bean。例如,如果类路径下存在`hibernate-jpa-2.1-api.jar`,那么Spring Boot会自动配置JPA数据访问层。同时,你可以通过`@EnableAutoConfiguration(exclude={SomeAutoConfiguration.class})`来排除不想要的自动配置。 3、@ConfigurationProperties这是Spring Boot用来绑定配置文件属性到Java Bean的一个注解,通过`@ConfigurationProperties(prefix = "database")`,你可以将`application.properties`或`application.yml`中的`database.*`属性映射到一个Java类的字段上,实现配置的强类型化和更好的代码提示。 4、@RestController这是Spring MVC中的一个注解,用于标记控制器类,结合了@Controller和@ResponseBody,表示该类的所有方法都会返回一个可以直接写入HTTP响应体的对象。 5、@RequestMapping这个注解用于处理HTTP请求,可以放在类级别或方法级别,用于映射URL到处理方法。 6、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping这些是@RequestMapping的简化版,分别对应HTTP的GET、POST、PUT、DELETE方法。 7、@AutowiredSpring的自动装配注解,用于注入依赖。Spring会尝试找到类型匹配的bean并注入。 8、@Value这个注解用于注入配置文件中的值,可以是属性文件或YAML文件中的值。 9、@ProfileSpring环境配置,指定在特定环境下生效的bean。如`@Profile("dev")`表示只在开发环境加载。 10、@ComponentScan这个注解用于扫描指定包下的@Component、@Service、@Repository、@Controller等注解的类,将它们注册到Spring容器中。 11、@Primary当有多个相同类型的bean时,使用@Primary指定首选的bean。 12、@ConditionalOnClass、@ConditionalOnMissingClass这两个注解可以根据类是否存在来决定是否加载某个配置。 13、@ConditionalOnProperty这个注解根据属性值来决定是否加载配置,如`@ConditionalOnProperty(name = "enabled", havingValue = "true")`。 14、@EnableCaching开启缓存支持,可以使用Spring的Cache抽象来实现缓存功能。 15、@SpringBootTest这个测试注解用于启动Spring Boot应用上下文,以便进行集成测试。 16、@WebMvcTest、@DataJpaTest、@RestDocumentation这些是针对特定层的测试注解,如Web层、数据访问层等,可以更快地进行单元测试。 17、@EnableFeignClients启用Feign客户端,用于声明式地调用远程服务。 18、@EnableScheduling开启定时任务调度,可以使用`@Scheduled`注解来定义定时任务。 19、@EnableAspectJAutoProxy开启AOP代理,支持自定义切面。 20、@GlobalTransactional全局事务注解,用于分布式事务管理。 21、@Bean这个注解用于声明一个方法会返回的对象应该被注册为Spring容器中的bean。 以上是Spring Boot中的一些关键注解,了解和掌握它们对于提升开发效率和理解Spring Boot的工作原理至关重要。在实际开发中,还需要根据具体需求灵活运用和组合这些注解,以实现高效、简洁的代码编写。在面试中,对这些注解的熟悉程度也是评估开发者Spring Boot技能的重要指标。