Spring的IoC是什么?

IOC就是控制反转,是指程序将创建对象的控制权转交给Spring框架进行管理,由Spring通过java的反射机制根据配置文件在运行时动态的创建实例,并管理各个实例之间的依赖关系。

对象与对象之间松散耦合,有利于功能的扩展和复用。

DI就是依赖注入,和控制反转是同一个概念的不同角度的描述,它是指程序在运行时由IoC容器来动态注入对象需要的外部依赖。

Spring的IOC有两种注入方式 :xml注入、注解注入。

xml注入bean的几种方式:

  • set()方法注入;
  • 构造器注入:①通过index设置参数的位置;②通过type设置参数类型;
  • 静态工厂注入;
  • 实例工厂;

注解注入bean的几种方式:

1、@Autowired是自动注入,自动从spring的上下文找到合适的bean来注入,@Autowired默认按类型匹配注入Bean,自动装配可能存在的问题,一个类型有多个对象,自动装配不知道装配哪个对象

2、@Resource要求提供一个Bean名称的属性,如果属性为空,自动采用标注处的变量名和方法名作为Bean的名称 。@Resource默认按名称匹配注入Bean

3、@Qualifier 指定注入bean的名称

4、@Service,@Controller,@Repository,@Component则是用来修饰类,spring扫描注解配置时,会标记这些类要生成bean。

你可能感兴趣的:(Spring15问,java,spring)