目录
1.核心注解
Spring Boot 提供了许多核心注解,这些注解用于简化配置和加速开发过程。以下是一些常用的 Spring Boot 核心注解的详细解释:
@SpringBootApplication
@SpringBootApplication
是一个组合注解,用于标识 Spring Boot 应用的主类。它整合了三个注解:@Configuration
、@EnableAutoConfiguration
和 @ComponentScan
。这意味着该类对应用程序提供了配置信息、启用自动配置功能,并启用了组件扫描。
@RestController
@RestController
是 @Controller
和 @ResponseBody
的结合。它可以直接将方法的返回值写入 HTTP 响应体中。
@RequestMapping
@RequestMapping
是一个用来映射 Web 请求的注解。它可以用在 Controller 类和方法上,用于指定处理请求的 URL 路径。
@Service
@Service
用于标识业务逻辑层的 Bean。通常用于标识服务层的组件。
@Component
@Component
是通用的 Spring 容器组件标识注解。当要创建一个可能被其他类使用的 Bean 时,通常使用这个注解。
@Autowired
@Autowired
用于自动装配 Bean,可以通过构造器、Setter 方法或字段注入的方式注入依赖。
@Configuration
@Configuration
用于定义配置类,这些类将会被 Spring 容器当作 Bean 定义。通常和@Bean一起使用,用来替代 XML 配置。
@Bean
@Bean
用于定义一个 Bean,并将其放入 Spring 容器。
@Value
@Value
用于将外部配置文件的属性值注入到 Bean 的字段或方法参数中。
@ComponentScan
@ComponentScan
用于定义 Spring 容器组件扫描的范围,对指定的包及其子包进行扫描,找到带有 @Component
注解的组件。
2.@Component和@Service注解的区别
在Spring Framework中,@Component
和@Service
注解都用于标识一个类作为Spring容器中的组件,但是它们在语义上有一些区别。
@Component
是一个通用的注解,用于标识任何Spring托管的组件,可以是一个服务、存储库、控制器或其他组件。它在Spring的组件扫描过程中用于识别组件。一般来说,@Component
注解可以用在任何需要被Spring管理的类上。
@Service
注解是@Component
注解的特化,通常用于标识业务逻辑层(Service层)的组件。使用@Service
注解能够更清晰地表达出某个类是业务逻辑中的一部分,这样也更符合代码的语义化,增强了可读性。
总的来说,@Service
注解是对@Component
注解的细化和语义化,用于在业务层中标识组件,而@Component
注解是一个通用的注解,可以用于标识任何Spring管理的组件。