Spring 中存取 Bean 的相关注解
在Spring框架中,用于定义和存取Bean的关键注解主要有:
@Component
:标识一个类会被Spring容器管理,通常用于REST控制器、服务和数据访问对象等。@Service
:特殊的@Component
,通常用于服务层。@Repository
:特殊的@Component
,通常用于数据访问层,即DAO组件。@Controller
:特殊的@Component
,通常用于表现层,处理网页请求。@Autowired
:自动按类型注入依赖的对象,如果有多个同类型Bean,则按照name
注入。@Qualifier
:与@Autowired
配合使用,指定要注入的Bean的名称。@Resource
:按名称或类型注入依赖,是JSR-250
规范的一部分。@Value
:注入简单类型的值,如字符串、数字等。@Bean
:用于标注方法,返回一个对象,这个对象会被Spring容器管理。@Configuration
:标识一个类作为Bean定义的源,即IoC容器的配置类。@Import
:用来导入其他配置类。@Scope
:设置Bean的作用域。@PostConstruct
:标识初始化方法,在构造函数之后执行。@PreDestroy
:标识销毁方法,在Bean销毁之前执行。
以下是使用这些注解的简单示例:
// 服务组件
@Service
public class MyService {
// ...
}
// REST控制器
@Controller
public class MyController {
// ...
}
// 数据访问对象
@Repository
public class MyRepository {
// ...
}
// 配置类
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyService();
}
}
// 使用自动注入
@Controller
public class MyController {
@Autowired
private MyService myService;
// ...
}
// 使用Java配置导入
@Configuration
@Import(AppConfig.class)
public class AnotherConfig {
// ...
}
这些注解让Spring成为了一个强大而灵活的框架,用于管理和组织应用程序中的对象。
评论已关闭