字段注入从哪里提供的实例?
在Spring框架中,当你使用@Autowired
注解进行字段注入时,实例是由Spring的IoC(控制反转)容器提供的。Spring IoC容器负责创建、配置和管理bean的生命周期。
以下是一个具体的例子:
@Service
public class MyService {
@Autowired
private MyRepository repository;
}
在这个例子中,MyService
类有一个名为repository
的字段,这个字段被标记了@Autowired
注解。当Spring创建MyService
的实例时,它会查找IoC容器中是否存在一个类型为MyRepository
的bean。如果存在,Spring就会自动将这个bean注入到repository
字段中。
这个MyRepository
类型的bean通常是通过以下方式之一注册到IoC容器的:
用
@Component
或者其派生注解(如@Service
,@Repository
,@Controller
等)标记的类,Spring会自动扫描并将它们注册为bean。在一个Spring配置类中,用
@Bean
注解标记的方法,这个方法的返回值会被注册为bean。
以上就是@Autowired
注解进行字段注入时,实例从何处提供的基本过程。