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

  • 相关阅读:
    深入理解计算机系统(3.2)---数据格式、访问信息以及操作数指示符
    深入理解计算机系统(3.1)---走进汇编的世界
    linux下的usb抓包方法
    Linux中查看系统资源占用情况的命令
    中药介绍
    shell中的for循环用法详解
    Linux上shell脚本date的用法
    linux下的shell运算(加、减、乘、除)
    [linux time命令学习篇] time 统计命令执行的时间
    一文简述多种强化学习算法,重要概念和术语一览
  • 原文地址:https://www.cnblogs.com/AmyZheng/p/9243783.html
Copyright © 2011-2022 走看看