• 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为工具
    Quantitative Strategies for Achieving Alpha (三)
    Quantitative Startegies for Achieving Alpha(二)
    Quantitative Strategies for Achieving Alpha(一)
    打开量化投资的黑箱(二)
    打开量化投资的黑箱(一)
    量化投资学习(一)
    handy源码阅读(六):tcp类
    handy源码阅读(六):udp类
  • 原文地址:https://www.cnblogs.com/xingrui/p/9079506.html
Copyright © 2020-2023  润新知