【预备知识】JavaSE、Spring IoC容器基础、Bean的注解配置
【准备工作】
文件结构:
Main.java
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(MainConfig.class);
// 注解配置bean,指定配置类为:MainConfig.class
}
}
MainConfig.java
@Configuration // 表示这个类是个配置文件类
@ComponentScans({
@ComponentScan("org.example.entity")
//自动扫描此包下所有类,如果包中类有@Component标签,则自动注册为Bean
})
public class MainConfig {
}
Dog.java——(随便写个)
【主题部分】
类型结构:
DogFactory.java
@Component
public class DogFactory implements FactoryBean<Dog> {
@Override
public Dog getObject() throws Exception {
return new Dog();
}
@Override
public Class<?> getObjectType() {
return Dog.class;
}
@Override
public boolean isSingleton() {
// 是否为单例(作用我还不知,参考Java设计模式里的单例模式
return false;
}
}
Main中调用工厂生产狗:
Dog d1 = context.getBean(Dog.class);