初学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层以及持久层。

 

 

 

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

 

转载于:https://www.cnblogs.com/yiliweichinasoft/p/3474574.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值