SpringIoc总结

Ioc指控制反转,将对象的创建权有开发者转到Ioc容器,当要使用对象时,使用DI即依赖注入的方式注入获取,容器负责创建和管理对象。这样可以降低代码之间的耦合性,提高代码的可维护性和可测试性。

其实现机制是反射+工厂模式,Ioc容器可理解为一个对象工厂,需要定义对象时,通过对工厂类传入标识(如全类名、id),通过反射的方式返回并强制转换,即得到了所需的类。

//创建spring IOC容器对象。ClassPathXmlApplicationContext表示配置文件在类路径下,它是接口ApplicationContext的一个实现类。
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//从IOC容器中获取Bean实例,其中applicationContext.xml有id为car的标签
Car c2Bean=(Car)ctx.getBean("car");

在Spring框架中,可以使用XML配置文件或注解来配置和使用IoC容器。XML配置文件可以定义对象的创建和依赖关系,注解可以在类或方法级别指示对象之间的依赖关系,通过使用ApplicationContext或BeanFactory接口,可以获取IoC容器的实例,并使用它来管理对象的生命周期和依赖关系。对于使用注解的方式,通过@Autowired实现,例如service服务层的实现接口的方法,加入了@Service注解,Spring容器会自动扫描标有@Service注解的类,并将其实例化为Spring Bean,然后纳入Spring容器的管理,这样,开发者就可以在其他组件中通过@Autowired引用这些服务。

Ioc注入的三种方式:构造器注入、setter方法注入、根据注解注入。

Ioc实现组件之间的解耦,提高程序的灵活性和可维护性,但仍存在一些缺点,主要有:

1、使用反射来创建对象,所以在效率上会有些损耗。

2、对于XML方式,如果修改了类名,还需到XML文件中手动修改。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值