[toc]
| 单词 | 词性 | 音标 | 含义 |
|---|---|---|---|
| alias | n. / v. | /ˈeɪliəs/ | 别名(编程中常用于为组件或配置指定替代名称,如Spring中可为Bean设置alias,通过别名也能获取该Bean,增强配置灵活性) |
| druid | n. | /ˈdruːɪd/ | 德鲁伊(此处特指阿里巴巴的Druid数据库连接池,是Java中常用的高性能连接池组件,支持监控、防SQL注入等功能) |
| Scope | n. | /skəʊp/ | 作用域(Spring中用于定义Bean的生命周期范围,如singleton(单例,全局唯一)、prototype(原型,每次请求创建新实例)、request(请求范围)等,决定Bean的创建和销毁时机) |
Lecture07-容器-[实验05]配置类和@Bean注解
一、使用第三方类的障碍
想要把一个类加入 IoC 容器时,如果是我们自己的类,那么直接加注解即可,但是第三方jar包中的类,都是只读文件,我们无法做任何修改

二、配置类
在Spring环境下,使用@Configuration注解标记的类,我们通常称为配置类
由于@Configuration注解也是以@Component注解为基础的,所以配置类也会被加入IoC容器

@Configuration
public class Demo15Config {
}
三、举例
第一步:创建配置类
import org.springframework.context.annotation.Configuration;
@Configuration
public class CarFactoryConfig {
}
第二步:创建被测试的类(模拟jar包中的类)
①CarMachine
public class CarMachine {
private String carName;
private Double carPrice;
@Override
public String toString() {
return "CarMachine{" +
"carName='" + carName + '\'' +
", carPrice=" + carPrice +
'}';
}
public CarMachine(String carName, Double carPrice) {
this.carName = carName;
this.carPrice = carPrice;
}
public CarMachine() {
}
}
②CarFactory
public class CarFactory {
private String factoryName;
private Double moneyBalance;
private CarMachine carMachine;
@Override
public String toString() {
return "CarFactory{" +
"factoryName='" + factoryName + '\'' +
", moneyBalance=" + moneyBalance +
", carMachine=" + carMachine +
'}';
}
public CarFactory(String factoryName, Double moneyBalance, CarMachine carMachine) {
this.factoryName = factoryName;
this.moneyBalance = moneyBalance;
this.carMachine = carMachine;
}
public CarFactory() {
}
}
第三步:使用@Bean注解
@Configuration
public class CarFactoryConfig {
@Bean
public CarMachine carMachine() {
return new CarMachine("比亚迪", 12000.33);
}
@Bean
public CarFactory carFactory() {
return new CarFactory("比亚迪工厂", 666.66, carMachine());
}
}