Spring学习笔记

J2EE的三层架构,分别是表现层,业务层,持久层

表现层用的是Struts2

业务层用的是Spring

持久层用的是Hibernate

S2SH3集成:

  • 新建一个web项目;
  • 建立domain;
  • 导入hibernate相关的包(因为用的是hibernate3.6):
  1. 导入hibernate3.jar
  2. 导入required里面所有的jar包
  3. 导入jpa里面的包
  4. 完成映射文件;
  5. 完成DAO接口;
  6. 导入spring相关的包;
  7. 继承HibernateDaoSupport完成dao的实现
  8. Spring和Hibernate集成的配置文件:
  1. 配置一个datasource,这个datasource是准备传给hibernate的
  2. 配置<property-placeholder>引入数据库连接信息相关的properties
  3. 配置sessionFactory
    • 不使用hibernate.cfg.xml文件
      1. 需要传入一个dataSource;
      2. 通过<property name="hibernateProeprties>传入hibernate的配置信息
      3. 通过<property name="mappingResources">传入所有的映射文件
      • 使用hibernate.cfg.xml文件
      1. 需要传入一个dataSource
      2. 需要通过<property name="configLocation">传入hibernate.cfg.xml的地址
      3. 配置一个基础的DAO
      4. 创建一个applcationContext-dao.xml,在这个文件里面配置dao的实现;
      5. 在applicationContext.xml中引入相关配置文件;

   9.完成Service接口;

   10.完成Service的实现;

   11.配置service

  12.配置事务

    1. 配置transactionManager,使用HibernateTransactionManager,这里面需要一个sessionFactory;
    2. 配置事务通知
    3. 配置aop切面

  13.Struts2和Spring集成

    1. 导入struts的jar包
    2. 完成Action
    3. 在spring中配置action,scope必须为prototype;
    4. 加入struts.xml配置文件,

      <!-- 当struts和spring集成在一起的时候,action的class就不能写action的类限定名,
      只能写这个action在spring中配置的bean对应的id -->

  5.导入spring-web.jar

   6.导入struts2和spring集成的包,struts2-spring-plugin-2.3.14.jar

   14.在web.xml中配置spring的启动监听器org.springframework.web.context.ContextLoaderListener
   15.在web.xml中配置spring启动容器加载配置文件的路径。

时间: 2024-10-31 17:26:01

Spring学习笔记的相关文章

Spring学习笔记(一)

Spring学习笔记(一) Spring核心思想: IOC:  Inversion Of Control (控制反转) / DI: Dependency Injection (依赖注入) AOP: Aspect Oriented Programming (面向切面编程) IOC 1. 简单的应用 Model package com.wangj.spring.model; public class User { private String username; private String pas

不错的Spring学习笔记(转)

Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包.   在Myeclipse中创建Java项目.   编写一个接口类,为了简单,只加入了一个方法.   Java代码   1.package com.szy.spring.interfacebean;  

《Spring学习笔记》:Spring、Hibernate、struts2的整合(以例子来慢慢讲解,篇幅较长)

<Spring学习笔记>:Spring.Hibernate.struts2的整合(以例子来慢慢讲解,篇幅较长) 最近在看马士兵老师的关于Spring方面的视频,讲解的挺好的,到了Spring.Hibernate.struts2整合这里,由于是以例子的形式来对Spring+Hibernate+struts2这3大框架进行整合,因此,自己还跟着写代码的过程中,发现还是遇到了很多问题,因此,就记录下. 特此说明:本篇博文完全参考于马士兵老师的<Spring视频教程>. 本篇博文均以如下这

spring学习笔记(19)mysql读写分离后端AOP控制实例

在这里,我们接上一篇文章,利用JNDI访问应用服务器配置的两个数据源来模拟同时操作不同的数据库如同时操作mysql和oracle等.实际上,上个例子可能用来模拟mysql数据库主从配置读写分离更贴切些.既然如此,在本例中,我们就完成读写分离的模拟在web端的配置实例. 续上次的例子,关于JNDI数据源的配置和spring datasource的配置这里不再重复.下面着重加入AOP实现DAO层动态分库调用.可先看上篇文章<spring学习笔记(18)使用JNDI模拟访问应用服务器多数据源实例 >

Spring学习笔记(三)

Spring学习笔记(三) AOP 一.使用Annotation方式实现AOP.步骤: xml里加入配置:<aop:aspectj-autoproxy /> <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org

Spring学习笔记--initmethod和构造函数、setter方法的加载顺序

今天学习了一下spring中bean的初始化和销毁,突然想了解一下初始化方法跟构造函数及setter方法注入的执行顺序,记录在此,仅作为学习笔记. 当实例化一个bean时,可能需要执行一些初始化操作来确保该bean处于可用状态.同样地,当不再需要bean时,将其从容器中移除是,我们可以还需要按顺序 执行一些清除工作. package com.zp.chapter2; public class Auditorium { private String name; public void doBefo

【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www.cnblogs.com/ssslinppp/p/4528892.html [Spring学习笔记-MVC-4]返回Json数据-方式2:http://www.cnblogs.com/ssslinppp/p/4530002.html [Spring学习笔记-MVC-3.1]SpringMVC返回Json数据-

Spring学习笔记 2014-7-9

Spring需要applicationContext.xml来管理各个Bean,其基本格式: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t

Spring学习笔记一(Spring核心思想)

通过学习<Spring in action (Third edition)>的第一章,我大概了解了Spring的基本思想: 1,依赖注入(Dependnecy Injection): 在不使用Spring框架的情况下,一个类要跟另一个类建立联系,可能会使用如下的模式: class A{...} class B{ private A a; ...       } 这样的话,每次实例化一个B的对象,如b1,必定实例化一个A的对象,如a1,并且b1和a1是紧耦合的,b1牢牢地和a1绑定在一起了.他们

【Spring学习笔记-MVC-4】返回Json数据-方式2

摘要 本文讲解另外一种利用spring MVC返回json数据的方法. 前文回顾 在<[Spring学习笔记-MVC-3]返回Json数据-方式1>中介绍了通过: @ResponseBody声明返回值: 配置<mvc:annotation-driven />: 来返回json数据.效果如下:   ==>, 从上面的效果看,只能返回一个对象,不能返回多个对象,不能做到形如下图的返回结果, 存在局限性(可能可以返回多个,自己不知道如何实现). 下面介绍的方式2,利用spring