zoukankan      html  css  js  c++  java
  • SSM应用(一)--Spring入门

    Spring是什么

      Spring是一个框架;

      Spring是一个容器框架;

      Spring用于管理bean(Java类),并维护bean(Java类)之间的关系;

      容器框架:整个web都属于Spring来管理,Spring可以管理web层、业务层、dao持久层,每一层都是由Java类(bean)组成的,Spring能够管理所有的bean,并且维护bean之间的关系;

      

    Spring的核心机制

      Bean:

        可以是Java中的任何对象,可以是JavaBean/service/servlet/dao,Spring就是通过管理每一层的bean,来实现管理整个项目。

        Spring可以管理bean的实例化,对象的诞生;

        Spring可以管理对象的关系(类中的对象属性);

      IOC/DI:

        IOC(inverse of control):控制反转

          不用Spring的时候,所有的对象都是new出来的,由我们自己决定什么时候new,控制权在我们自己手上;

          在Spring中,所有的对象都是由Spring来管理的,由Spring决定什么时候创建,控制权在Spring手上;

        DI(dependency injection):依赖注入

          如:web工程中service层与dao层的关系:

          在不用Spring的时候,service依赖于对象属性dao;

          在Spring中,由Spring将dao对象注入到service中,也体现了Spring管理service和dao的关系;

      AOP(aspect onented programming):面向切面编程,面向所有对象编程;

    Spring入门案例

      现在有这样两个类:

        

      实现Spring管理,维护bean的步骤:

        1、引入jar包;

      

        2、配置核心配置文件:applicationContext.xml

      

        3、编写测试类

      

        注意:

        核心配置文件中的id对应创建的对象的对象名;

        在核心类中使用getBean(id)方法得到Spring创建的bean对象;

        在配置对象属性时,需要使用ref属性,ref属性的值对应相应的bean对象配置文件的id;如:

        

      小结:如果我们把程序的发展史比喻成社会的话,就可以分为:

        原始社会:自给自足,需要对象,就自己new一个对象;

        工业社会:工厂,需要对象,由工厂创建出来,找工厂要;

        共产主义社会:Spring容器,容器中存放着配置好的大量的对象,需要的时候无需主动找,Spring会依赖注入;

    Spring的执行机制

      读取application配置文件的时候,Spring框架被加载;

      当不考虑bean的生命周期时,读取application配置文件的时候,Spring中配置的bean被创建;

      

      读取配置文件的时候,bean被实例化并且以键值对的方式放置在Spring容器中

      Spring底层基于Java的反射机制

        读取配置文件:IO

        service = Class.forName(“bean,UserService”).newInstance();  //反射,建立实例

        byeservice = Class.forName(“bean,ByeService”).newIntance();  //反射,建立实例

        service.setSyaService(byeservice); //bean之间关系的建立  //属性的注入

        HashMap.put(“service”,service);HashMap.put(“byeservice”,byeservice);  //把对象放入HashMap中,作为Spring容器,工厂;

    PS:因作者能力有限,如有误还请谅解;

  • 相关阅读:
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
    uva 129 krypton factors ——yhx
    uva 524 prime ring problem——yhx
    uva 10976 fractions again(水题)——yhx
    uva 11059 maximum product(水题)——yhx
    uva 725 division(水题)——yhx
    uva 11853 paintball(好题)——yhx
    uva 1599 ideal path(好题)——yhx
    uva 1572 self-assembly ——yhx
  • 原文地址:https://www.cnblogs.com/WHL5/p/8883942.html
Copyright © 2011-2022 走看看