Spring简单介绍

Spring概念:Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。

Spring优点:

  • 低侵入式设计,代码的污染极低。
  • 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
  • Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
  • Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
  • Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
  • Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。

Spring核心技术: IoCAOP,能够实现类之间、模块之间的解耦合。

IoC:IoC(控制反转)就是依赖倒置原则的一种代码设计思路。就是把原先在代码里面需要实现的对象创建、对象之间的依赖,反转给容器来帮忙实现。
Spring IOC容器通过xml,注解等其它方式配置类及类之间的依赖关系,完成了对象的创建和依赖的管理注入。实现IOC的主要设计模式是工厂模式。

IoC技术实现:DI是IoC的技术实现, DI(Dependency Injection)依赖注入,只需要在程序中提供要使用的对象的名称就可以,至于对象在容器中如何创建、赋值、查找都由容器内部实现。Spring是使用DI实现了IoC的实现,Spring底层创建对象使用的是反射机制。

使用IoC,由Spring创建对象实现步骤:

1. 创建maven项目

Spring简单介绍_第1张图片

2. 加入maven的依赖:Spring的依赖,junit依赖


    
    
      org.springframework
      spring-context
      5.2.5.RELEASE
    
    
    
      junit
      junit
      4.11
      test
    
  

3. 创建类(接口和实现类):创建类和没有使用框架一样,就是普通类。

Spring简单介绍_第2张图片

4. 创建Spring需要使用的配置文件,声明类信息,这些类交由Spring创建和管理

Spring的配置文件:

  1. beans:是根标签,Spring把java对象称为bean。
  2. spring-beans.xsd:是约束文件,和mybatis指定 .dtd是一样的。

告诉Spring创建对象:
首先要声明bean,一个bean标签声明一个对象,就是告诉Spring要创建某个类的对象。
id:对象的定义名称,唯一值。Spring就是通过这个名称找到对象。
class:类的全限定名(不能是接口,因为Spring是反射机制创建对象,必须是类)


5. 测试Spring创建的对象

使用由Spring创建的对象:

  1. 指定Spring配置文件的名称
    String config="ApplicationContext.xml";
  2. 创建表示Spring容器的对象,ApplicationContext;

    • ApplicationContext就是表示Sprring容器,通过容器获取对象;
    • ClassPathXmlApplicationContext:表示从类路径中加载Spring的配置文件(在target下面读取指定配置文件);
    ApplicationContext ac=new ClassPathXmlApplicationContext(config);

    从容器中获取对象:
    注意:getBean("配置文件中bean的id值");因为getBean返回值类型是Objecct类型的所以需要强转;

    SomeService ss=(SomeService) ac.getBean("someServiceImpl");

测试结果:

package com.cn.spring;

import com.cn.spring.service.SomeService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring {
    @Test
    public void test01(){
        String config="ApplicationContext.xml";
        ApplicationContext ac=new ClassPathXmlApplicationContext(config);
        SomeService ss=(SomeService) ac.getBean("someServiceImpl");
        ss.doSome();
    }
}

Spring简单介绍_第3张图片


未完待续。。。。。。

你可能感兴趣的:(javaspring)