认识框架spring的IOC以及DI

spring , springmvc , myBatis , 也就是ssm , springmvc对应的是controller层 ,

myBatis对应的是持久层 , 而spring不属于任何层 , 主要是用来进行层与层之间的解耦 , 来连接

springmvc控制框架和mybatis持久层框架 , 和springmvc同功能的框架还有struts2框架 , 和myBatis同

功能还有hibernate框架 , 如果用的持久层框架是 hibernate那么就是 ssh了 , 控制层和持久层的两个框

架可以任意搭配 .

网上Spring的介绍是致力于全方位的简化Java开发。
为了降低Java开发的复杂性, Spring采取了以下4种关键策略:

基于POJO的轻量级和最小侵入性编程;
通过依赖注入和面向接口实现松耦合;
基于切面和惯例进行声明式编程;
通过切面和模板减少样板式代码。

我理解到的spring是关于它的IOC(控制反转)以及DI(依赖注入) 是什么呢 ,
IOC是spring的两个重要思想之一 , 控制反转 ,
那什么是控制反转呢 , 控制反转就是一种思想 , 这个思想是怎么想的呢 , 就是想把实体类 的生命周期交给spring去控制 , 让spring实现创建 ,实现初始化 , 实现销毁 .

那什么是DI呢 , 如果说IOC是一种思想 , 那么DI 就是这种思想的实现 , DI就是这种思想的实现过程
怎么实现呢 , 把一个类在spring的配置xml文件中通过这个类的路径(反射)来控制类的声明周期 ,

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans.xsd">
 
     <bean class="com.pojo.User" id ="user" />
     
 </beans>

然后在其他类调用则是获取到这个xml配置文件通过调用方法来获取到id为user的这个bean标签 , 然后获取到这个类 ,

@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”);
User user = (User) ac.getBean(“user”);
user.say();
}

网上搜到的DI就是 :

DI依赖注入:Dependency Injection。
依赖注入DI是指程序运行过程中,若需要调用另
一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创
建后传递给程序。
依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean(实体类)之间以配置文件的方式

IOC与DI的关系
IOC是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式之一
是DI。
 

转载于:https://my.oschina.net/u/4116654/blog/3037204

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值