• Spring学习笔记(1)


    Spring框架介绍

    1. Spring是轻量级的开源的JavaEE框架

    2. Spring可以解决企业应用开发的复杂性

    3. Spring有两个核心部分:

      • IOC:控制反转,把创建对象过程交给Spring管理
      • Aop:面向切面,不修改源代码进行功能增强
    4. Spring特点

      • 方便解耦,简化开发
      • Aop编程支持
      • 方便程序测试(junit4)
      • 方便和其他框架及进行整合
      • 方便进行事务操作
      • 降低API开发

    入门案例

    1. 导入Spring5相关jar包

      <dependencies>
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-beans</artifactId>
                  <version>5.2.8.RELEASE</version>
              </dependency>
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-context</artifactId>
                  <version>5.2.8.RELEASE</version>
              </dependency>
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-core</artifactId>
                  <version>5.2.8.RELEASE</version>
              </dependency>
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-expression</artifactId>
                  <version>5.2.8.RELEASE</version>
              </dependency>
              <dependency>
                  <groupId>commons-logging</groupId>
                  <artifactId>commons-logging</artifactId>
                  <version>1.2</version>
              </dependency>
          </dependencies>
      
    2. 创建Spring配置文件,在配置文件配置创建的对象

      • 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标签:让spring创建一个对象并放置在IOC容器内
            属性:
                id : 标签该bean对象的唯一标识符,bean的名称,不能重复的
                class : 需要创建对象的类型的全限定名,spring通过反射机制创建该类的对象(要求:该类必须拥有无参构造方法)
            -->
            <bean id="user" class="com.lxk.User"></bean>
        </beans>
        
        
    3. 编写测试代码

      public class TestDemo {
          @Test
          public void test(){
              //1.加载spring配置文件
              ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
              //2.获得配置创建的对象
              User user = context.getBean("user", User.class);
              System.out.println(user);//com.lxk.User@9a7504c
              user.add();//执行力User类的add方法
          }
      }
      

    IOC容器

    1. IOC概念和原理

      • 控制反转,把对象创建和对象之间的调用过程交给Spring进行管理
      • 使用IOC目的:为了耦合度降低
      • 入门案例就是IOC实现
    2. IOC底层原理

      • xml解析,工厂模式,反射

      原始方式:

      image-20220419205813296

      工厂模式:

      image-20220419210012954

      IOC:

      image-20220419210626733

      IOC接口:

      • IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

      • Spring提供IOC容器实现两种方式:(两个接口)

        ​ 都可以创建对象

        • BeanFactory:IOC容器的基本实现,是Spring内部的使用接口,不提供给开发人员使用

          *加载配置文件时候不会创建对象,获取(使用)对象时才去创建对象(getBean())

        • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用

          *加载配置文件时就会把配置文件对象创建

          image-20220419213040231

          前者实现类读取xml配置文件需要绝对路径,后者只要xml文件在 src下直接写xml名

  • 相关阅读:
    Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象
    如何把Crystal Reports报表转换为ActiveReports报表
    Linux内核中的seq操作
    ip_vs实现分析(6)
    ip_vs实现分析(9)
    ipvs学习笔记(二)
    ip_vs实现分析(7)
    ip_vs实现分析(8)
    PHP 开发环境搭建( Eclipse PDT XAMPP XDEBUG)
    ip_vs实现分析(5)
  • 原文地址:https://www.cnblogs.com/longlonglonglong/p/16171468.html
Copyright © 2020-2023  润新知