zoukankan      html  css  js  c++  java
  • Spring学习(一)

    搭建环境

    1、创建普通的Java工程

    2、添加相应的jar包,下载链接:https://files.cnblogs.com/files/AmyZheng/lib.rar,此外,为了打印信息,我们还需要一个Apache Commons Logging API,在这里下载commons-logging-1.2

    3、jar包

    • Spring核心必须依赖的库:commons-logging-1.1.1.jar
    • Spring IoC部分核心库:

        spring-beans-4.3.9.RELEASE.jar
        spring-context-4.3.9.RELEASE.jar
        spring-context-support-4.3.9.RELEASE.jar
        spring-core-4.3.9.RELEASE.jar
                spring-expression-4.3.9.RELEASE.jar
                spring-web-4.3.9.RELEASE.jar      ------> 支持在Web环境中使用Spring IoC容器

    • Spring AOP部分核心库:

              spring-aop-4.3.9.RELEASE.jar
              spring-aspects-4.3.9.RELEASE.jar

    • Spring AOP需要依赖于aspectj库:    

              aspectjrt.jar
              aspectjweaver.jar

    第一个实例

    1、新建一个配置文件,用于配置和管理所有的bean。

    beans.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"
        xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
    
        <bean id="birthdate" class="java.util.Date" />
        
        <util:map map-class="java.util.HashMap" id="map">
            <entry key="罗玉凤" value="30" />
            <entry key="罗玉龙" value="40" />
        </util:map>
    
    </beans>

    每一个bean的Id唯一

    2、新建Java测试类

    package ecut.ioc.ex;
    
    import java.util.Date;
    import java.util.Map;
    
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Test {
    
        public static void main(String[] args) {
            //classpath和classpath下的所有jar包
            System.out.println( System.getProperty( "java.class.path" ) );
            //configLocations为不定参数,classpath当前工程下的bin目录下D:java_workspacejavaSpringin;
            String configLocations = "classpath:ecut/**/ex/beans.xml" ;
            //String configLocations = "classpath:ecut/ioc/ex/beans.xml" ;
            //String configLocations = "classpath:beans.xml" ;//若配置文件在src目录底下
            
            // AbstractApplicationContext 实现了 org.springframework.context.ApplicationContext 接口
            //    ClassPathXmlApplicationContext 继承了 org.springframework.context.support.AbstractApplicationContext
            AbstractApplicationContext context = new ClassPathXmlApplicationContext(configLocations);
            //name 与xml中的bean标签的ID相对应
            Date date = context.getBean( "birthdate", Date.class );
            
            System.out.println( date );
            
            Map<?,?> map = context.getBean( "map" , Map.class );
            
            System.out.println( map );
            //ApplicationContext没有close方法,AbstractApplicationContext
            context.close();
            
        }
    
    }
    package ecut.ioc.ex;
    
    import java.util.Date;
    import java.util.Map;
    
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Test {
    
        public static void main(String[] args) {
            //classpath和classpath下的所有jar包
            System.out.println( System.getProperty( "java.class.path" ) );
            //configLocations为不定参数,classpath当前工程下的bin目录下D:java_workspacejavaSpringin;
            String configLocations = "classpath:ecut/**/ex/beans.xml" ;
            //String configLocations = "classpath:ecut/ioc/ex/beans.xml" ;
            //String configLocations = "classpath:beans.xml" ;//若配置文件在src目录底下
            
            // AbstractApplicationContext 实现了 org.springframework.context.ApplicationContext 接口
            // ClassPathXmlApplicationContext 继承了 org.springframework.context.support.AbstractApplicationContext
            AbstractApplicationContext context = new ClassPathXmlApplicationContext(configLocations);
            //name 与xml中的bean标签的ID相对应
            Date date = context.getBean( "birthdate", Date.class );
            
            System.out.println( date );
            
            Map<?,?> map = context.getBean( "map" , Map.class );
            
            System.out.println( map );
            //ApplicationContext没有close方法,建议使用AbstractApplicationContext
            context.close();
            
        }
    
    }

    因为ApplicationContext没有close方法,建议使用AbstractApplicationContext来创建一个spring 容器, 这个容器读取classpath(当前工程下的bin目录)下的配置文件,并由容器去创建相应的对象,最后提供getBean方法获取name(  与xml中的bean标签的Id相对应)所指定的对象。

    转载请于明显处标明出处

    https://www.cnblogs.com/AmyZheng/p/9243783.html

  • 相关阅读:
    Condition Variables
    Cocos2d-x执行时错误:Cocos2d: Get data from file(xxx.xxx) failed!
    HDU
    Android context空指针异常
    linux c server and client 简单的通信
    UVM:8.4.3 用factory 机制创建实例的接口
    5.4 桥接模式(4.2)
    rac安装_grid安装校验报错之grid未建立信任关系
    git 使用ss5代理
    convmv 解决GBK 迁移到 UTF-8 ,中文 文件名乱码
  • 原文地址:https://www.cnblogs.com/AmyZheng/p/9243783.html
Copyright © 2011-2022 走看看