zoukankan      html  css  js  c++  java
  • Spring 概述

    1、Spring 是什么?

    答:Spring 是一个 JavaEE 轻量级一站式 JavaEE(企业版) 的开发框架。

    JavaEE:就是用于开发 B/S 的程序。(企业版)

    轻量级:使用最少代码启动框架,然后根据你的需求选择,选择你喜欢的模块使用。

    一站式:提供了表示层(Struts2)、服务层、持久层的所有支持。(功能齐全,Spring全家桶)

    2、Spring是怎么样实现轻量级的?

    答:就是出内核模块(4个jar:spring-beans-4.2.9.RELEASE.jar、spring-context-4.2.9.RELEASE.jar、spring-core-4.2.9.RELEASE.jar、spring-expression-4.2.9.RELEASE.jar),其他模块由开发者自由选择使用,同时支持整合其他框架。也可以称为就是可插拔式开发框架,就像插头和插座一样,插上就可用。这就是Spring框架核心理念IoC(Inversion of Control):控制反转,实现程序的解耦,从而提高程序的扩展性)。

    3、Spring 框架在现实开发中,主要的功能用于整合,聚合各种开发来开发项目。

    4、怎样实现 IoC (控制反转)的?

    答:要实现 IoC(控制反转)的前提,就是不用 new 就可以创建对象

    5、Spring 是一个 IoC 框架,它是怎么实现不用 new 就可以创建对象的呢?

    答:Spring是在框架启动的那一刻,容器对象就读取配置文件或配置类,将配置文件或配置类里的类创建对象,并且将其放在容器(Context)里面,所以用的时候去取便可,而不再需要创建。

    具体实现: 流程图

      

      步骤:① 创建一个普通类

         ② 创建一个 Spring 配置文件,用于描述类与类之间的关系

         ③ 创建 ApplicationContext 容器对象用于获取 Spring 容器里面的对象。根据 Spring 配置文件的描述,将对象创建并且放在 Spring 容器里面

         ④ 使用 ApplicationContext 容器对象的 getBean 方法,获取 Spring 容器里面的对象。

    代码实现,配置步骤:

      ① 导入包(Spring 依赖日志包 commons-logging-1.1.3.jar)

      

      ② 创建一个普通类 

    1 package cn.mgy.service;
    2 
    3 public class HelloWorldService {     
    4      public void say() {
    5           System.out.println("---你好世界!--");  
    6      }
    7 }

      ③ 创建一个 Spring 配置文件(通过 xsd 规则文件生成):applicationContext.xml

        问题1:配置文件为什么使用的是 XML ?

        答:因为 XML 是有格式的,这个格式可以让开发工具有提示功能

        问题2:Eclise为什么需要 xsd 或者 dtd ?

        答:因为开发工具 Eclipse 必须要有 XML 的规则文件(dtd、sxd)才可以对相关的配置文件进行提示

        问题3:Eclipse 如果没有 Spring 框架对象的规则文件,怎么办?

        答:需要收工配置上去。

    <?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-4.2.xsd ">
       
       <!-- 
         <bean>标签:用于声明一个类,在启动Spring框架的时候根据该配置的类创建对象到容器里面 name
        -->
       <bean name="helloWorldService" class="cn.mgy.service.HelloWorldService"></bean>
    </beans>

      ④ 编写一个测试类,使用 ApplicationContext 的子类对象根据配置文件创建容器。并且在容器里面获得创建的对象

     1 package cn.mgy.test;
     2 
     3 import org.junit.Test;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 import cn.mgy.service.HelloWorldService;
     7 
     8 public class HelloWorldServiceTest {
     9     
    10     @Test
    11     public void say(){
    12         //创建一个ApplicationContext对象,根据xml配置创建一个对象
    13         //直接读取Spring的src目录下的配置文件的子类是ClassPathXmlApplicationContext
    14         ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
    15         HelloWorldService helloWorldService = context.getBean("helloWorldService", HelloWorldService.class);
    16         //调用方法
    17         helloWorldService.say();
    18         //结束程序,可以关闭容器
    19         context.close();
    20     }
    21 }

       通过代码测试可以得出,Spring 框架果然不用 new 就可以创建对象。

  • 相关阅读:
    MOS管基本构造和工作原理
    压控恒流源电路
    TI博客文章-4-20mA电流环路发送器入门
    node.js发http请求
    node.js之web开发 koa入门
    nodejs入门开发与常用模块
    node.js安装与入门使用
    node.js和前端js有什么区别
    php hash_hmac 与python hmac 区别
    redis命令使用
  • 原文地址:https://www.cnblogs.com/maigy/p/10808062.html
Copyright © 2011-2022 走看看