Spring配置bean实例化有哪些方式?
时间: 2024-09-17 10:02:02 浏览: 58
Spring框架中有多种方式可以配置并实例化Bean。以下是常见的几种:
1. **XML配置文件**:通过`<bean>`标签在Spring的`beans.xml`或相关的XML配置文件中定义Bean,设置其属性和生命周期管理规则。Spring会根据XML中的配置自动创建Bean。
```xml
<bean id="exampleBean" class="com.example.ExampleClass"/>
```
2. **Java Configuration(Java配置)**:使用@Configuration注解的类,内部定义@Bean方法直接在Java代码中创建Bean,这种方式更简洁、灵活,并且可以与依赖注入结合得更好。
```java
@Configuration
public class AppConfig {
@Bean
public ExampleBean exampleBean() {
return new ExampleClass();
}
}
```
3. **构造函数注入(Constructor Injection)**:通过`@Autowired`注解,Spring会找到匹配的构造函数自动实例化Bean。
```java
@Service
public class ExampleService {
private final ExampleBean exampleBean;
@Autowired
public ExampleService(ExampleBean exampleBean) {
this.exampleBean = exampleBean;
}
}
```
4. **setter注入(Property Injection)**:如果类有无参构造,可以通过setter方法注入属性值。
5. **工厂模式**:自定义工厂Bean,如`Prototype`或`Singleton`行为,控制Bean的实例化次数和生命周期。
6. **条件注解**:比如`@Profile`用于基于环境或条件创建Bean,只在特定条件下才会实例化。
阅读全文