zoukankan      html  css  js  c++  java
  • spring-01

    1. Spring概述
      • 概述
        1. Spring是一个开源框架
        2. 为企业级开发而生
        3. 是一个IOC[DI]和AOP容器框架
        4. 有许多优良特性
          1. 非侵入式:基于Spring开发的应用中的对象可以不依赖Spring的API。
          2. 依赖注入:DI--Dependency Injection,IOC是最经典实现。
          3. 面向切面编程:AOP
          4. 容器:Spring管理应用对象的生命周期。
          5. 组件化:Spring实现了使用简单的组件合成一个复杂的应用。使用XML和注解来组合这些对象。
          6. 一站式:在IOC和AOP的基础上可以整合各种企业级应用的开源框架和优秀的第三方类库。(实际上spring自身也提供了表示层SpringMVC和持久层的SpringJDBC)
        5. Spring模块

              

      • 第一个spring
        1. 创建普通java项目,新建lib,添加jar包
          1. beancontextcoreexpression  还有log包
          2. 在src目录下创建source folder,命名为config,config下新建applicationContext.xml

             2.创建com.ruixing.bean包,并穿件类

                1.Employee.java

                  

                2.Dept.java

                  

             3.在pplicaltionContext.xml里面配置对象

                1.通过set注入属性

                  

                2.通过构造器注入属性值       当name属性省略时,可以通过index属性指定为哪个属性赋值

                  

                3.为list类型属性赋值

                  

                4.为map属性赋值  entry标签,确定一组键值对

                   

                 5.属性值为null

                    <property name="属性名">

                      <null></null>

                    </property>
             4.测试类
    public class TestSpring{
        //根据配置文件创建容器对象
        ApplicationContext context = new ClassPathXmlApplicationContext("application");
        
        //方式1:根据<bean>的id值获取对象,返回类型是Object,需要强转 
        Employee e1 = (Employee) context.getBean("e1");
        System.out.println("根据id获取:"+e1);
    
        //方式2:根据对象的类型获取,但是要求对象只有唯一一个
        Employee e2 = context.getBean(Employee.class);
        System.out.println("根据类型获取:"+e2);
       
         //方式3:根据id+类型      常用
        Employee e3 = context.getBean("e1", Employee.class);
        System.out.println("根据id和类型获取:"+e3);
    }

    2.FactoryBean(注意:BeanFactory是Spring的顶层接口,面向开发spring的开发人员,并不是使用spring的开发者)

       1.Spring中有两种bean

         * 普通bean

         * 工厂bean:即FactoryBean

       2. 普通bean和工厂bean的区别

         * 普通bean就是该类的一个实体对象

         * 工厂bean返回的是:getObject()返回的对象

      3. 工厂bean必须实现org.springframework.beans.factory.FactoryBean接口

         

    3.bean的作用域

     类别    
    说明
    singleton     默认的 在SpringIOC容器中仅存在一个Bean实例,也就是单例
    propertype 多例,每次调用getBean()都会返回一个新的实例
    request 每个HTTP请求,都会创建一个新的Bean
    session 一次会话中共享一个bean,不同的Http session 使用不同的bean

     

     

     

     

     

     

     

     

    注意:当bean为单例的时候,会在容器初始化时,初始化单例的bean。而propertype时,IOC容器获取实例时,才会创建bean实例对象。

    4.  IOC容器的结构

        

  • 相关阅读:
    Python元组、列表、字典
    测试通过Word直接发布博文
    Python环境搭建(windows)
    hdu 4003 Find Metal Mineral 树形DP
    poj 1986 Distance Queries LCA
    poj 1470 Closest Common Ancestors LCA
    poj 1330 Nearest Common Ancestors LCA
    hdu 3046 Pleasant sheep and big big wolf 最小割
    poj 3281 Dining 最大流
    zoj 2760 How Many Shortest Path 最大流
  • 原文地址:https://www.cnblogs.com/xingrui/p/9079506.html
Copyright © 2011-2022 走看看