Spring框架的一个亮点就是能实现注入并且可以对实例化的Bean进行管理。

本文将对Spring框架的配置做一个详细的讲解。

一般情况下Spring是不单独使用的,而是和Hibernate配合使用,或者与Hibernate和Struts配合使用。

本文将通过Hibernate与Spring的配合使用,并通过JUnit进行简单的数据测试,已验证Spring是否配置成功。

配置Spring的大致步骤如下:

1.加入Spring所依赖的Jar

2.编写applicatioinContext.xml文件

3.编写一个基本的Dao操作类

4.编写测试方法

一、加入Spring所依赖的Jar包

点击这里下载:http://pan.baidu.com/s/1o6E1vzs 密码:uijc

其中Jar包的作用如下:

spring-beans-2.5.2.jar     访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类

spring-context-2.5.2.jar     以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类

spring-core-2.5.2.jar     框架基本的核心工具类

spring-jdbc-2.5.2.jar     包含对Spring 对JDBC 数据访问进行封装的所有类

spring-orm-2.5.2.jar     对映射框架的一些支持

spring-tx-2.5.2.jar     提供对事务的支持

commons-logging-1.1.3.jar   是Struts中的一个Jar包。但Spring需要它,如果没有它,Spring会报错。

同时如果你没有加入Hibernate所必须的Jar包,请阅读我的另一篇博文,在这里你可以找到Hibernate所必须的Jar包:Hibernate框架配置详解

二、编写applicatioinContext.xml文件

 <?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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- Spring整合Hibernate:直接饮用hibernate配置文件-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean> <!-- 创建baseDao对象 -->
<bean id="baseDao" class="com.basehibernate.dao.impl.BaseDaoImpl">
<!-- 在Dao中使用hibernateTemplate必须注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
</beans>

三、编写一个基本的Dao操作类

BaseDao接口类:

 package com.basehibernate.dao;

 /**
* 公用DAO接口类
* 时间:2014年6月4日 10:45:47
* @author chenyr
*/ public interface BaseDao { /**
* 保存对象
* @param obj
*/
public abstract void save(Object obj); }

BaseDaoImpl 类:

 package com.basehibernate.dao.impl;

 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.basehibernate.dao.BaseDao; /**
* 公共DAO实现类
* @author chenyr
*
*/
public class BaseDaoImpl extends HibernateDaoSupport implements BaseDao { //继承了HibernateDaoSupport类,需要注入SessionFactory对象
/**
* 保存对象
*/
public void save(Object obj) {
getHibernateTemplate().save(obj);
}
}

四、编写测试方法

SpringTest类:

 package com.basehibernate.test;

 import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.basehibernate.dao.BaseDao;
import com.basehibernate.pojo.Employee; public class SpringTest { static ApplicationContext ctx = null;
@Test public void initParam()
{
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
BaseDao dao = (BaseDao)ctx.getBean("baseDao"); Employee empl = new Employee();
empl.setEmplName("员工11");
empl.setPassword("1111");
empl.setPwFlag(true);
empl.setAutoEat(true); dao.save(empl);
}
}

注:这里介绍的是桌面程序的一个配置情况,如果你是在J2EE网站开发使用Spring,那么你可能需要在web.xml中进行一些监听器的配置。

<listener>
 <listener-class>org.springframework.context.ContextLoaderListener</listener-class>
</listener>

配置的目的是为了在服务器启动的时候让Spring去加载application-Context.xml文件。(2014年10月20日 15:56:39)

【Spring】Spring框架配置详情的更多相关文章

  1. spring.net框架配置和使用

    spring.net框架学习笔记 spring.net框架是用于解决企业应用开发的复杂性的一种容器框架,它的一大功能IOC(控制反转),通俗解释就是通过spring.net框架的容器创建对象实体,而不 ...

  2. spring boot application 配置详情

    # =================================================================== # COMMON SPRING BOOT PROPERTIE ...

  3. Spring SSM 框架

    IDEA 整合 SSM 框架学习 http://www.cnblogs.com/wmyskxz/p/8916365.html 认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 ...

  4. Spring笔记——Spring框架简介和初次框架配置

    Spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve ...

  5. 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置

    在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...

  6. Spring Boot干货系列:(七)默认日志框架配置

    Spring Boot干货系列:(七)默认日志框架配置 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候, ...

  7. Spring.Net框架二:配置Spring.Net框架环境

    一.下载DLL文件 去Spring的官方网站下载并解压,然后直接添加dll文件的引用就可以了.在上一篇文章中,已经介绍过Spring.Net框架中需要使用到的dll文件.这些程序集文件位于Spring ...

  8. JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架

    1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader ...

  9. Spring框架配置beans.xml

    Spring学习笔记(一) 一.Spring 框架 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 ...

随机推荐

  1. Regex quick reference

    近段时间,接触正则较多,常规法则如下,网摘内容,方便查阅.

  2. php精确计算

    php BC高精确度函数库 结果: php一般的取余 只是除以整数 bc精度取余 精确到了小数

  3. PHPer的项目RESTful API设计规范是怎样的?

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 什么是RESTful RESTful是一种软件设计风格, 主要用于客户端与服务端交互的软件. 一般来说RESTful ...

  4. kafka 重放 重播 从某个时间点或者offset开始消费

    转自: https://www.jianshu.com/p/932663e9a226 consumer.subscribe(topicA); consumer.poll(100);//正常订阅topi ...

  5. postman请求数据库方法(Omysql)

    一.github 地址: https://github.com/liyinchigithub/Omysql 二.效果 三.使用方式 如果你电脑已经安装配置 Git.node 环境,可以直接按下面步骤进 ...

  6. vue中template的作用及使用

     先来看一个需求:下图div用v-for做了列表循环,现在想要span也一起循环,应该怎么做? 有3种方法可以实现 ①:直接用v-for对span也循环一次(该方法虽然可以使用,但不要用这种方式,因为 ...

  7. Rust对协程的思考

    最近和同事聊起来,觉得lua缺乏编译型语言的类型校验功能,还有变量拼写检查之类的,导致线上总是有低级错误出现.比如最近有一个是变量名拼写少了一个字母,导致某功能没开启:还有一个是变量传参时,之前测试多 ...

  8. 黄聪:不使用 webpack,vuejs 异步加载模板

    webpack 打包不会玩,整了这么个小玩具 一段 vue 绑定代码,关键点在 gmallComponent 1.异步加载外部 vue 文件(非 .vue) 2.按一定规则拆分 template.sc ...

  9. [算法]LeetCode 152:乘积最大子序列

    题目描述: 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6.示 ...

  10. 利用内存锁定技术防止CE修改

    利用内存锁定技术防止CE修改 通过这种在R3环利用的技术,我们可以来达到保护内存的目的,像VirtualProtect等函数来修改页属性根本无法修改. 而CE修改器推测应该使用VirtualProte ...