在Spring Boot中,依赖注入和控制反转(IOC)是关键概念。为了使用这些功能,Spring提供了许多注解,用于配置和管理组件。以下是Spring Boot中常用的IOC注解:
@Component:这是最基本的组件注解,用于将类标记为Spring的组件。Spring会自动发现和管理这些组件。
@Service:通常用于标记业务服务类,是一种特殊类型的组件注解。
@Repository:用于数据访问层(如DAO或Repository类)的组件注解,暗示这些类负责数据交互。
@Controller:用于Spring MVC的控制器类。
@RestController:相当于@Controller与@ResponseBody的组合,用于构建RESTful API的控制器。
@Autowired:用于自动注入依赖,Spring会自动注入与该字段、方法或构造函数参数类型匹配的Bean。
@Qualifier:与@Autowired一起使用,用于指定注入哪个Bean,通常用于有多个同类型Bean的情况。
@Primary:用于指定在多个相同类型的Bean中,哪个Bean应该优先注入。
@Value:用于注入属性值,通常从配置文件中读取。
@Scope:用于指定Bean的作用范围,如单例(singleton)、原型(prototype)等。
@Configuration:用于定义配置类,类似于XML配置中的标签。
@Bean:在@Configuration类中使用,用于定义和创建Bean。
@PropertySource:用于指定属性文件的位置,配合@Value注解使用。
@ComponentScan:用于指定Spring扫描组件的包或范围。
@ImportResource:用于从外部XML配置文件中导入配置。
@Profile:用于指定不同环境(如开发、测试、生产)下的配置和组件。