zoukankan      html  css  js  c++  java
  • Spring基础

    一,什么是Spring?
    为什么要用Spring?
         Spring的本质就是管理软件中的对象,如何创建对象和维护对象之间的关系
    1.Spring是一个开源的轻量级的应用开发框架,其目的是简化企业级的应用程序开发,减少入侵;
      
    2.Spring 提供的IOC和AOP应用,可以将组件的耦合度降至最低,届解耦,便于系统日后的维护和升级;
     
     
    二,Spring容器的简介:
       1)在Spring中,任何的java类和JavaBean都被当成 Bean处理,这些Bean通过容器管理和应用。
       2)Spring容器实现了IOC和AOP机制,这些机制可以简化Bean对象创建和Bean对象之间的解耦;
       3)Spring 容器有BeanFactory和ApplicationContext两种类型
     
    什么是JavaBean:一种简单规范的Java对象
      
       何时使用Spring?
      当需要管理JavaBean对象时候就可以使用,Spring是最简洁的对象管理方案之一
     
     
    三,Spring容器的实例化,如何创建对象
     
        ApplicationContext继承自BeanFactory接口,拥有更多的企业级方法,推荐使用该类型,实例化方法如下:
    // 加载文件系统中的配置文件实例化 
           String conf = "c:applicationContext.xml";   
           ApplicationContext ac = new FileSystemXmlApplicationContext(conf);
     
    //加载工程classpath下的配置文件实例化
     String conf = "applicationContext.xml";
     ApplicationContext ac = new ClassPathXmlApplicationContext(conf);
     
    如何使用Spring?遵守Spring定义的规则,基于配置和默认规则,减少了代码的书写
     
    四,Spring容器的使用
     
        1) 从本质上讲,BeanFactory和ApplicationContext仅仅是维护Bean定义以及相互依赖关系的的高级工厂接口,通过容器BeanFactory和ApplicationContext我们可以访问bean定义。
       2)  首先在在容器的配置文件 applicationContext.xml中添加
    Bean的定义
       <bean id="标识符"  class=“Bean类型”/>
    然后在创建BeanFactory和AppplicationContext容器对象后,调用getBean()方法获取Bean的实例即可
           getBean(”标识符“);
     
     
    五,Bean的实例化
           Spring容器创建Bean对象的方法有一下3种 
              1)用构造器来实例化
              2 )使用静态工厂方法实例化
              3 )使用实例工厂方法实例化
     
     将对象创建的规则告诉Spring,Spring会帮你去创建对象;
    基于配置和默认规则,减少了代码的书写!
     
    Bean实例化的例子:
     a。用构造器来实例化:
       <bean id="calendarObj1"  class="java.util.GregorianCalendar"/>
     
       <bean name="calendarObj2"  class="java.util.GregorianCalendar"/>
      解释:id或name属性用于指定Bean名称,用于从Spring中查找这个Bean对象;
        class用于指定Bean类型,会自动调用无参数构造器创建对象
     
    b。使用静态工厂方法实例化
     <bean id="calendarObj2" class="java.util.Calendar" factory-method="getInstance"/>
       id:属性用于指定Bean名称;
      class:属性用于指定工厂的类型;
      factory-method: 属性用于指定工厂中创建bean对象的方法,必须用static修饰的方法。
     
    c。使用实例工厂方法实例化 
      <bean id="calendarObj3" class="java.util.GregorianCalendar"/>
     
    <bean id ="dateObj" factory-bean="calendarObj3" factory-method="getTime"/>
      id 用于指定Bean名称;
     factory-bean 属性用于指定工厂Bean对象;
    factory-method属性用于指定工厂中创建Bean对象的方法。
     
     
    六。Bean的命名
       1)Bean的名称
          在Spring容器中,每个Bean都需要有名字(即标识符),该名字可以用<Bean>元素的id或name属性指定
       2)id属性比name严格,要求具有唯一性,不允许“/”等特殊字符
    为已定义好的Bean,再增加另外一个名字引用,可以用<alias>指定:
         <alias name="fromname" alias="toname"/>
     
    七。Bean的作用域
       Spring容器在实例化Bean时,可以创建以下作用域的Bean对象;
       下面的Bean作用域,可以通过<bean>定义的scope属性指定       
    Singleton : 在每个Spring IOC容器中定义一个Bean定义对应一个对象
                            实例,默认 项
     
    prototype :一个bean定义对应多个对象实例
     
    request: 在一次HTTP请求中,一个Bean定义对应一个实例 ,仅限于     
                     Web环境
     
    session  :在一个HTTPSession中,一个bean定义对应一个实例,仅仅限于Web环境
     
    global Session :在一个全局的HTTPSession中,一个bean定义对应一个实例;
     
    八。Bean的生命周期回调
       1)  指定初始化回调方法:
            <bean id="exampleBean "  class="com.foo.ExampleBean"  init-method="init">    </bean>
       2) 指定销毁回调方法,仅适用于 singleton 模式的bean
     
    提示 :指定销毁回调方法,仅仅适用于singleton模式的bean
     
     
    九,IOC概念
      DI全称是Dependency Injection,被翻译为 依赖注入;
      本质上讲 容器的工作就是创建bean时注入那些依赖关系,
     
    DI主要有两种注入方式,即 Setter注入和构造器注入
      
    Setter注入:在容器xml配制中,配置注入参数:
    <bean id="dataSource" class="org.tarena.dao.JDBCDataSource">
      <property name="driver" value="oracle.jdbc.OracleDriver"/>
     </bean>
     
    构造器注入:基于构造器的注入是通过调用带参数的构造器来实现的,容器在bean被实例化的,根据参数类型执行相应的构造器
       <constructor-arg index="0" ref="dataSource">
  • 相关阅读:
    win11系统无法解决的死结
    python多线程2线程应用
    python多线程3线程同步
    python多线程3.1同步测试例子
    python多线程1线程创建
    最近总是淡淡的····
    ASP.NET MVC 中如何实现基于角色的权限控制
    【转】Visual C++ ADO数据库编程入门
    【转】Windows窗体消息汇总
    【转】数据库设计中的14个技巧
  • 原文地址:https://www.cnblogs.com/hdutang/p/5288059.html
Copyright © 2011-2022 走看看