Spring -Core

Spring -Core

Spring是管理bean的容器
  • 创建: 底层使用反射技术创建bean的实例

  • 设计: 使用工厂模式(BeanFactory)

  • 管理: 容器中的每个bean , Spring容器默认按照单例方式管理,可以通过设置 更改为每次获取时创建不同的实例。

ApplicationContext(Spring容器)加载方式
  1. ClassPathXmlApplicationContext :在classpath路径下加载xml配置文件,完成Spring容器的加载;或者, 采用注解方式时,需要在xml配置 文件中使用<context:component-scan />完成类扫描。

    ApplicationContext context= new ClassPathXmlApplicationContext("spring-config.xml");
    
  2. AnnotationConfigApplicationContext :基于注解配置的Spring容器加载方式。

     ApplicationContext context=new AnnotationConfigApplicationContext("com.chen");
    
    Spring注解
    • 声明bean

      @Component :组件

      @Controller :控制器组件

      @Service :业务层组件

      @Repository :数据访问层组件

    • 声明注入
      • Spring Framework

        @Autowired :自动装配(默认按照类型自动装配) ,按照当前声明的接口类型,在容器中查找该接口实现类对象bean ,进行自动注入(装配)。

        @Qualifier :按照bean名称自动装配,与@Autowired注解配合使用。按照当前指定的bean名称,在容器中查找该名称对应的bean ,进行自动注入(装配)。

      • Java标准注解

        @Resource : javax扩展包提供的注解,完成自动注入 ,默认按照类型自动注入,也可以使用name属’性进行按名称自动注入

    • 其他
对IOC和DI的理解

首先IOC和DI是对同一个概念不同角度的描述,IocInverse of Control,“控制反转”DI—Dependency Injection,即**“依赖注入”**。

IOC控制反转和DI依赖注入更多的是体现一种思想:将项目中的类(组件)交给Spring容器管理,按照组件之间彼此的依赖关系(采用xml配置文件、注解或者JavaConfig) , 完成组件之间的注入,降低组件之间的耦合。也就是创建对象的控制权转移给Spring容器。

依赖注入的三种方式
  • 属性注入(setter注入)
  • 构造注入(使用有参构造方法注入)
  • 接口注入
配置方式
  • XML: 优势—配置内容直观清晰,扩展灵活;劣势—配置繁琐
  • 注解: 优势—简洁;劣势—扩展不灵活
  • JavaConfig:优势—借助IDEA工具确保配置准确;劣势—配置代码比较多,扩展不灵活
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值