zoukankan      html  css  js  c++  java
  • 初学spring(一)

    1.spring 在ssh 中所处的位置

      

      struts 是web框架(jsp,action,actionform)

      hibernate 是orm框架,处于数据持久层

     spring 是容器框架,配置bean和管理bean之间的关系,其中 ioc(inverse of control) 即控制反转,和di (dependency injection) 依赖注入 是spring的核心。

    2.开发一个简单spring项目的流程

      a.引入开发spring项目所需的jar包: spring.jar(最小配置),日志包common-logging.jar

      b.创建一个spring的核心配置文件 applicationContext.xml [hibernate有核心 hibernate.cfg.xml struts核心文件 struts-config.xml], 该文件一般放在src目录下,

       该文件中引入 xsd文件 :可以从给出的案例(spring源代码包)中拷贝一份.

        说明:

             <!--
                      bean元素的作用就是,当框架加载的时候,容器就会自动创建一个bean的实例,  类似 UserService us = new UserService();
                      property元素的作用就是,创建实例后给实例的属性注入值,
    类似 us.setName("spring"); 
               -->
        <bean id="userService" class="com.service.UserService">
            <property name="name">
                <value>spring</value>
            </property>
        </bean> 

    3.创建实体bean,核心部分代码

    1 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");  //得到容器对象
    2 3 UserService us = (UserService) ac.getBean("userService"); //实例化bean
    4 5 us.sayHello();

     4.Ioc(inverse of control 控制反转)  和 Dj (dependency injection 依赖注入)

        控制反转: 把创建和维护对象的权力从代码中转移到spring容器(applicationContext.xml)中

        <bean id="userService" class="com.service.userServce">

            <property name="name" vlaue="spring"/>

            <property name="helloService" ref="helloService"/>

        </bean>

        <bean id="helloService" class="com.service.helloServce">

            <property name="words" vlaue="hello"/>

       </bean>

     在这段配置中体现了spring的三个特点:

        a.配置bean

        b.注入属性

        c.维护bean与bean之间的关系

        使用时通过getBean(bean_id) 来获取对象实例。

      在UserServce 类中 有这样一段代码:

        .....

        private HelloServce helloServce;

       ....

       并为其创建get 和 set 方法。此时如果没有实例化 helloServce,在UserServce 类直接调用 helloServce对象引用中的方法,肯定是报错的。

    通过在applicationContext.xml中配置上述代码后,则可以直接调用。这也正好体现了spring的特点所在。

       spring的底层实现机制可以采用 dom4j 和 java的反射机制来实现,结合HashMap 来维护实例对象的关系。

       spring实际上是一个容器框架,可以维护web层,业务层,dao层(持久层)的各个组件,

       注:struts主要充当web层,接管jsp/action/表单等,主要体现在数据输入,数据处理以及数据的展示。有包含view以及control层。

            在mvc这个概念中,model层包含 业务层,dao层以及持久层。

     说明:部分内容摘录自网络

  • 相关阅读:
    基于Spring的集群会话共享方案-spring session
    Tensorflow 模型线上部署
    Dijkstra算法
    BFS和DFS
    图的基本概念
    排序5
    排序4
    排序3
    排序2
    排序1
  • 原文地址:https://www.cnblogs.com/yiliweichinasoft/p/3474574.html
Copyright © 2011-2022 走看看