使用java config配置ioc容器实例化
spring3.0新推出的配置方式,用java代码替代传统配置文件
基于Java Config的优势:
-
新人只需要记住:Java Config即是用Java类来替代XML文件。
-
完全摆脱XML的束缚,使用独立Java类管理对象与依赖。
-
注解配置相对分散,利用Java Config可对配置集中管理。
-
可以在编译时进行依赖检查,不容易出错。

Java Config配置文件方式,如何进行注入:

为了更好的兼容Java注解类,引入@ComponentScan 注解
@ComponentScan(basePackages = "top.xiongmingcai") //兼容注解ioc容器实例化模式
Java Config配置文件方式注入冲突场景

Java Config配置文件方式兼容 注解方式

@Configuration//当前是一个配置类,用于替代 applicationContext.xml
@ComponentScan(basePackages = "top.xiongmingcai") //兼容注解ioc容器实例化模式
public class Config {
@Primary
@Bean//java Config 利用方法创建对象,将方法返回对象放入容器,beanId=方法名
public UserDao userDao1() {
return new UserDao();
}
@Bean
//先按name 尝试注入,name不存在则类型注入
public UserService userService(@Qualifier("userDao1") UserDao dao, EmployeeDao employeeDao) {
UserService userService = new UserService();
System.out.println(userService + " <===已创建userService :");
userService.setUserDao(dao);
userService.setEmployeeDao(employeeDao);
System.out.println(dao + " <===调用 : setUserDao");
System.out.println(employeeDao + " <===调用 : setEmployeeDao");
return userService;
}
}
Java Config配置文件,进行注入的好处
-
优势 :直接在源代码中编译,使用方便,并且编译工具可以帮助对编译时异常进行检查。
-
劣势 :代码写在源码中,后期维护繁琐
工作中,Java Config更多的用在了敏捷开发中(特别适合快速迭代,快速上线的工程。SpringBoot--Spring体系中的敏捷开发框架,默认基于Java Config进行配置)
XML文件配置方式,多用于大型项目的协作,通过配置文件将每一个团队的工作切分