【Spring学习笔记】6.基于JavaConfig配置IoC容器

博客介绍了Java Config的优势,如摆脱XML束缚、集中管理配置、编译时检查依赖等;阐述了Java Config核心注解,包括创建Config类及IoC容器初始化方法的变化;还说明了依赖注入方式,可根据参数名或类型自动注入,能设置单例或多例,还可进行注解扫描。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java Config的优势

  • 完全摆脱XML的束缚, 使用独立Java类管理对象与依赖
  • 注解配置相对分散, 利用Java Config可对配置集中管理
  • 可以在编译时进行依赖检查, 不容易出错

Java Config核心注解

注解说明
@Configuration描述类, 说明当前类是Java Config配置类, 完全替代XML文件
@Bean描述方法, 方法返回对象将IoC容器管理, beanId默认为方法名
@ImportResource描述类, 加载静态文件, 可使用@Value注解获取
@ComponentScan描述类, 同XML的<context:compoment-scan>标签

在任意包下创建Config类, 示例:

@Configuration //当前类是一个配置类, 用于替代applicationContext.xml
public class Config{
    
    @Bean  //Java Config利用方法创建对象, 将方法返回对象放入容器, beanId=方法名
    public UserDao userDao(){
        UserDao userDao=new UserDao();
        return userDao;
    }
    
    @Bean
    public UserService userService(){
        UserService userService =new UserService();
        return userService;
    }
}

IoC容器初始化方法, 将有所变化

ApplicationContext context = new  AnnotationConfigApplicationContext(Config.class);

如何依赖注入

@Bean //如果需要依赖注入, 则直接写在参数里即可
public UserService userService(UserDao userDao){
    UserService userService = new UserService();
    userService.setUserDao(userDao);
    return userService;
}

自动根据参数名或类型进行自动注入, 方法上面使用注解@Primary, 代表优先导入

方法上面使用@Scope注解, 可以设置是单例还是多例

类上面使用注解@ComponentScan(basePackge="com.imooc"), 对其他类进行注解扫描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值