zoukankan      html  css  js  c++  java
  • 2018.12.20 Spring环境如何搭建

    Spring学习

    1.导入spring约束 为后续创建xml文件做铺垫

    2.开始搭建Spring环境

    1.创建Web项目,引入spring的开发包(根据下面的图来引入)

    2.引入jar包 coreContainer是我们最基础的包

    3.在引入一个日志包

    4.创建一个对象

    5.书写配置注册对象到容易。建议放在src下面,名字叫applicationContext.xml

    具体步骤:
    第一次的时候需要配置一下

    再点击一下add------Specify New NameSpace

    导入刚才我们的beans的xsd文件

    对比一下是不是这样的哦
    NameSpace Name:http://www.springframework.org/schema/beans

    Location Hint:http://www.springframework.org/schema/beans/spring-beans-4.2.xsd

    导入成功

    6.测试



    3. IOC Inverse of Control 控制反转。定义

    
    	将我们创建对象的方式反转了,
    	以前对象的创建是由我们开发人员维护,包括依赖关系也是自己注入。
    	使用了spring之后,我们对象的创建以及依赖关系可以由spring完成创建以及注入
    	反转控制就是反转了对象的创建方式,从我们自己创建反转为程序spring
    

    4. DI Dependency Injection 依赖注入 定义

    实现IOC思想需要DI做支持/
    	注入方式:
    		set方式注入
    		构造方法注入
    		字段注入
    	
    	注入类型:
    		值类型注入。 八大基本数据类型
    		引用类型注入。对象里面嵌套属性。将依赖的对象注入 
    

    5.ApplicationContext & BeanFactory

    5. 1 BeanFactory接口。过时

    BeanFactory接口实现类的容器,特点是每次在获得 对象时才会创建对象
    spring原始接口,针对原始接口的实现类功能比较单一

    5.2 ApplicationContext。常用

    每次容器启动时就会创建容器中配置的所有对象,并提供更多功能。
    从类路径下加载配置文件:ClassPathXmlApplicationContext。(常用)
    从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext

    总结:web开发中,使用ApplicationContext,在资源匮乏的环境可以使用BeanFactory


    6.Spring中对象创建方式

    6.1 通过空参构造方法创建 (常用)

    spring在创建容器的时候也会吧容器内的对象也创建出来

    6.2 通过静态工厂方法创建 (了解)

    可以直接通过类名就能调用里面的方法了




    6.3 通过实例工厂方法创建 (了解)

    要先创建实体工厂类才能调用里面的方法

    6.4 Bean元素进阶

    (1)scope属性

    • singleton(默认值):单例对象
    被标识为单例的对象在spring容器中只会存在一个实例
    

    • prototype:多例原型
    被标识为多例对象。每次获得的对象都是新的对象
    

    • request(了解):web环境下。对象与request生命周期一致
    • session(了解):web环境下。对象与session生命周期一致

    在跟struts2整合的时候,ActionBean必须要配置为多例模式prototype 的。

    (2)生命周期属性。了解

    配置一个方法作为生命周期初始化方法,spring会在对象创建之后立即调用---init-method
    
    配置一个方法作为生命周期销毁方法,spring容器在关闭并销毁所有容器中的对象之前调用---destroy-method
    
    

    测试

    7.spring的分模块配置

    8.Spring的属性注入 (4种方式)

    8.1 set方法注入 。重点掌握而且比较简单

    1.普通对象属性注入

    测试

    2.引用类型注入

    注入car对象

    8.2 构造函数注入

    注入参数的取值

    ref引用的

    name

    测试

    有两种情况,想指定那个参数在前面 还有指定使用那个类型的构造方法 添加index属性和type属性即可

    8.3 p名称空间注入。了解

    <!-- p命名空间注入  实际是走set方法注入 -->	
    	<!-- 
    		1.导入p命名空间 xmlns:p="http://www.springframework.org/schema/p"
    		2.使用p属性完成注入
    			|-值类型:p:属性名="值" 
    			|-对象类型:p:属性名-ref:值
    	 -->
    

    8.4 spel注入。了解

    9.复杂类型注入

    9.1 array类型注入

    上面是在数组中注入一个值的情况


    下面通过修改配置文件注入多个值

    以上就是注入array的情况分析

    9.2 List类型注入

    测试

    9.3 Map 类型注入

    9.4 Properties 类型注入

    10. 将spring容器应用到struts-crm 项目

    步骤:

    10.1 导包 (4+2),再加一个spring-web-xxxx.jar 包

    10.2 将Service对象以及Dao对象配置到Spring容器

    10.3 在Action中获取容器中的Service对象。10.4节 是我们的错误示范

    ContextLoader关键字

    接下来指定spring配置文件加载路径

    contextConfigLocation 是如何能在源码中找到的

    查看源码 导包source的

    接下来 修改Action保证一个项目中只有一个容器

    10.4 管理容器在项目中的生命周期。这样会 导致每次请求都创建新的容器

  • 相关阅读:
    五种常见的 PHP 设计模式(收藏)
    写年度工作总结
    关于window.open和window.showdialog返回值的问题
    50个令人叹为观止的JavaScript应用站点[转]
    10大免费FLV播放器下载[转]
    6个去掉图片上的文字的技巧实用简单
    mysql命令大全(转)
    10款替代Windows Media Player的播放器
    Editplus FTP远程访问Ubuntu
    C++ 元编程 Meta Programming
  • 原文地址:https://www.cnblogs.com/qichunlin/p/10152989.html
Copyright © 2011-2022 走看看