Spring IOC容器

Spring IOC容器:

SpringIOC:
1、IOC是一个容器,在Spring中,它会认为一切Java资源都是Java Bean,容器的目标就是管理这些Bean和它们之间的关系。
2、spring使用的是依赖注入(IOC)。
3、依赖注入的3种方式(构造器注入和setter注入是主要方式):
3.1、构造器注入:大部分情况下使用类的构造器(有参数和无参数)来创建对象,spring可以采用反射的方式,通过使用构造器来完成注入,这就是构造器注入的原理。
3.2、setter注入:setter注入是Spring中最主流的注入方式,利用Java Bean规范所定义的setter方法完成注入,灵活且可读性高。其实也是通过反射技术实现的。
3.3、接口注入 :有些时候资源并非是来自于自身系统,而是来自外界,比如数据库连接资源完全可以在Tomcat下配置,然后通过JNDI的形式来获它。这就是一种接口注入形式。
4、将Bean装配到SpringIOC中3中方法进行配置:
4.1、在XML中显示配置。
4.2、在Java接口和类中实现配置。
4.3、隐式Bean的发现机制和自动装配原则。
基于约定优于配置的原则,最优先的应该是通过隐式Bean的发现机制和自动装配原则,其次考虑Java接口和类中实现配置,最后考虑XML配置。
4.3.1、Spring中提供了两种方式(以注解为主,XML为辅)来让Spring IOC容器发现Bean:
a、组件扫描:通过定义资源的方式,让Spring IOC容器扫描对应的包,从而把Bean装配进来。
b、自动装配:通过注解定义,使得一些依赖关系可以通过注解完成。
5、@Autowired:是按类型来注入对象。
在Java一个接口可以有多个实现类,同样抽象类也可以有多个实例化的类,这样就会造成通过类型获取Bean的不唯一,从而导致Spring IOC类似于按类型的方法无法获得唯一的实例化类。为了消除歧义,Spring提供了两个注解@Primary和@Qualifier
@Primary:注解的类告诉IOC请优先使用该类注入。
@Qualifier(“***”):采用名称查找而不是采用类型查找。
6、使用@Bean来装配bean:@Bean(name=”***”)它可以注解到方法上,并且将方法返回的对象作为Spring的Bean,存放在IOC容器中。@Bean的name是给bean起一个名称。
7、Bean的作用域,spring 提供了四种作用域:
7.1、单例:它是默认选项,在整个应用中Spring只会为其生成一个Bean的实例。
7.2、原型:当每次注入或者通过IOC容器获取bean时,Spring都会为它创建一个新的实例。
7.3、会话(session):在web应用中,在会话过程中Spring只创建一个实例。
7.4、请求(request):在web应用中,一次请求Spring就会创建一个实例。但是不同的请求会创建不同的实例。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值