spring概述及ioc详解

spring概述

  • spring是一个轻量级的框架
  • spring核心主要包括两部分
    • aop:面向切面编程,扩展功能不修改源代码实现
    • ioc:控制反转
      • 常规的使用一个类中的方法需要创建这个类的对象,然后调用对象的方法
      • 但是使用spring,对象的创建不需要通过new的方式,而是交给spring配置创建类对象
  • spring是一站式框架
    • spring在Javaee三层结构中,每一层都提供了不同的解决技术
    • web层:springMVC
    • service层:spring的ioc
    • dao层:spring的jdbcTemplate
  • spring 版本
    • spring4.x

ioc底层使用的技术

  • xml配置文件
  • dom4j解析xml
  • 工厂模式
  • 反射

ioc底层原理

  • 这里写图片描述
  • 如果在一个类中直接创建另一个类的对象,这样,耦合度很高(关联性很高)
  • 使用工厂模式可以将创建对象放到第三个类中,一定程度上解决了这种问题,但是工厂类和Servlet耦合
  • 但是上面工厂模式内部还是通过new的形式创建对象,返回出去,这样工厂类和第一个类之间耦合度比较高,为了解决这个问题,工厂类内部可以通过==xml配置文件+dom4j解析+反射==创建对象,这样后期只需要修改配置文件就可以这里写图片描述

ioc 案例

  • 第一步:搭建开发环境,导入jar包
    • springjar包中提供了jar包,文档,源码
    • 根据spring的运行需要导入的图片,如果只需要基本的功能只需要导入核心的jar包就好了这里写图片描述
    • spring框架本身没有提供打印日志的jar包,如果想要打印日志,还需要导入commons-logging和log4j这里写图片描述
  • 第二步:创建类,在类里面定义一个方法这里写图片描述
  • 第三步:创建spring配置文件,配置创建类

    1. ==spring核心配置文件名称和位置不是固定的==
      • 但是建议放到src下,文件名官方建议:applicationContext.xml
      • 这里写图片描述
    2. 引入schema约束
      • 找到docs目录这里写图片描述
      • docs下的这里写图片描述
      • heml文件夹下的最后一个文件这里写图片描述
      • 打开这个文件这里写图片描述
    3. 配置文件:

      <?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">
              <!-- ioc入门
                  class属性:类的全路径
                  id属性:可以自定义,但是建议使用类名,首字母小写
               -->
          <bean id="user" class="com.td.User"></bean>
      
      </beans>
    4. 测试是否可以成功创建 对象

      • 代码:这里写图片描述
      • 结果:这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值