Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

时间:2024-07-22 10:06:56

Spring概念

Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

  • spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用)

spring核心主要两部分

  • aop:面向切面编程,扩展功能不是修改源代码来实现;
  • ioc:控制反转,比如:有一个类,在类中有个方法(非静态的方法),要调用类中的这个方法,则需要创建类的对象,使用对象调用方法。创建类对象的过程,需要new出来对象;而ioc则是将对象的创建不是通过new方式实现,而是交给spring配置来创建对象(即,将对象的创建交给spring来管理);

spring是一站式框架

  • spring在javaee三层结构中,每一层都提供不同的解决技术
    • web层:springMVC
    • service层:spring的ioc
    • dao层:spring的jdbcTemplate

spring版本

  • hibernate5.x
  • spring4.x

Spring入门

Spring的ioc操作

  • 即:把对象的创建交给spring进行管理
  • ioc两种操作方式:
    • ioc的配置文件方式;
    • ioc的注解方式;

IOC底层原理

  • ioc底层原理使用的技术
    • xml配置文件
    • dome4j解析xml
    • 工厂设计模式
    • 反射
  • 画图分析ioc实现原理
    Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件) Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

IOC入门案例

  • 步骤:
    • 导入jar包
      • 解压下载的spring-framework-4.2.4.RELEASE.zip文件,jar包特点:都有三个jar包(基本jar、文档jar、源码jar);
        Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)
      • 做spring基本功能,只需导入四个核心点jar包即可(Beans、core、Context、SpEL);
        Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)
      • 导入支持日志输出的jar包-logging、log4j(因为spring本身没有提供这种jar包);
        Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)
    • 创建类,在类中创建方法
      package cn.cbb.ioc;
      
      public class User {
      
          public void add() {
      System.out.println("add ...");
      } public static void main(String[] args) {
      /**
      * 调用类中的方法,原始做法是创建类对象,用对象调用方法;而现在则不再这样做了,
      * 而是将对象的创建过程交给spring来配置实现,但是底层用的肯定是反射,我们不需
      * 要写反射代码,由spring代我们做此操作
      */
      User user = new User();
      user.add();
      }
      }
    • 创建spring配置文件,配置创建类
      • spring核心配置文件名称和位置不是固定的,建议放在src下面,官方建议applicationContext.xml
      • 引入schema约束
        Spring框架[一]——spring概念和ioc入门(ioc操作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"> <!-- ioc入门,配置对象的创建 -->
        <bean id="user" class="cn.cbb.ioc.User"></bean>
        </beans>
    • 写代码测试对象创建:
      package cn.cbb.ioc;
      
      import org.junit.Test;
      import org.springframework.context.ApplicationContext;
      import org.springframework.context.support.ClassPathXmlApplicationContext; public class IOCTest { @Test
      public void IOCTest() {
      //1、加载spring配置文件,根据配置创建对象
      ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
      //2、得到配置创建的对象
      User user = (User) context.getBean("user");
      System.out.println(user);
      user.add();
      }
      }

配置文件无提示问题

Spring引入schema约束,把约束文件引入到eclipse中,以便配置文件编写提示:
Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

spring的bean管理(xml配置文件)

bean实例化三种方式

  • bean实例化,即:在spring里面通过配置文件创建对象;
  • bean实例化的三种方式实现(掌握一种,其他两种知道即可):
    • 无参构造函数创建重点