Spring4-1 Spring初始

  Spring是一个轻量级反转控制(IOC)和面向切面编程的开源的容器框架,其为简化企业级应用开发而生,即使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能。


1. Spring框架

1.1 概述

  特点:框架、轻量级、反转控制、面向切面编程、容器、一站式,具体说明如下:

  • 框架: Spring使用简单的组件配置即可组合成一个复杂应用,可以使用XML或Java注解的方式来组合这些对象;
  • 轻量级: Spring是非侵入式的,即基于Spring开发的应用中的对象可以不依赖于Spring的API;
  • 反转控制: IoC,同依赖注入(Dependency Injection,简称DI);
  • 面向切面编程: Aspect Oriented Programming,简称AOP;
  • 容器: Spring包含且管理着应用对象的生命周期;
  • 一站式: 在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供了展现层的SpringMVC和持久层的Spring JDBC)。
1.2 Spring模块

这里写图片描述

1.3 插件安装

  Spring插件可使Spring程序的开发更为简单方便,因此需要在开发前安装插件到Eclipse中;在此,选择的安装文件为springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite.zip,安装时仅选择和Spring IDE相关的四个即可。


2. IoC和DI概述

  反转控制(Inversion of Control,简称IoC)的思想是反转资源获取的方向;传统的资源查找方式要求组件向容器发起请求,容器适时的返回资源;而IoC容器是主动地将资源推送给其所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源,该行为也被称为查找的被动形式。
  依赖注入(Dependency Injection,简称DI)是IoC的另一种表述方式,即组件以一些预先定义好的方式(如setter方法)接受来自如容器的资源注入。

  IoC的前生——分离接口与实现:
这里写图片描述

  IoC的前生——采用工厂设计模式:
这里写图片描述 
  IoC的现在——采用反转控制:
这里写图片描述


3. 实现步骤

3.1 添加所依赖的jar包

这里写图片描述

3.2 添加Spring配置文件:

  一个典型的Spring项目需要创建一个或多个Bean配置文件,用于在Spring IOC容器里配置Bean;Bean的配置文件可以放在classpath下,也可以放在其它目录下。

<!-- src/helloWorld.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 id="helloWorld" class="com.qiaobc.spring.beans.HelloWorld">
        <property name="name" value="Android"></property>
    </bean>

</beans>
3.3 建立Spring项目

TestMain.java:

package com.qiaobc.spring.beans;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestMain {

    public static void main(String[] args) {
        /**
         * 使用spring框架实现方法调用
         *  1. 创建spring的IOC容器
         *  2. 从IOC容器中获取对应的JavaBean
         *  3. 调用方法
         * 
         * 反转控制(IOC)与依赖注入(DI):
         *  以往的资源获取方式是,组件向容器发起请求,容器查找资源并将其适时返回
         *  反转控制引入后,资源获取方式是,容器将资源推送给其所管理的组件,组件选择一种合适的方式来被动接收。
         * 
         */
        /**
         * 无框架实现步骤:
         * 实例化 -> 设置属性 -> 调用方法
         */
//      HelloWorld helloWorld = new HelloWorld();
//      helloWorld.setName("java");
//      helloWorld.sayHello();

        /**
         * 基于Spring框架实现
         */
        // 1. 创建Spring的IoC容器
        ApplicationContext ctx = new ClassPathXmlApplicationContext("helloBean.xml");

        // 2. 从IoC容器中获取Bean
        HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");

        // 3. 调用方法
        helloWorld.sayHello();
    }
}

HelloWorld.java:

package com.qiaobc.spring.beans;

public class HelloWorld {

    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public void sayHello() {
        System.out.println("Hello:" + name);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值