`
wanglu271991027
  • 浏览: 90443 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

单元测式ssh 项目 跟spring注角功能的应用

 
阅读更多
第一步搭建ssh 项目 添加三个框架的支持;
第二步添加注解功能
在spring配制文件中加如下代码

	<!-- 启用注解 -->
	<context:annotation-config />
	<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
	<context:component-scan base-package="com.*" />


整个spring文件内容

<?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:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
	http://www.springframework.org/schema/jee 
	http://www.springframework.org/schema/jee/spring-jee-2.5.xsd 
	http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
	http://www.springframework.org/schema/context 
	http://www.springframework.org/schema/context/spring-context-2.5.xsd"
	default-autowire="byName" default-lazy-init="true">
	<!-- 启用注解 -->
	<context:annotation-config />
	<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
	<context:component-scan base-package="com.*" />
	<!-- 定义受环境影响易变的变量 -->
	<bean
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<!-- 标准配置 -->
				<value>classpath:jdbc.properties</value>
			</list>
		</property>
	</bean>

	<!-- 数据源配置,使用应用内的DBCP数据库连接池 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<!-- Connection Info -->
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<!-- Connection Pooling Info -->
		<property name="initialSize" value="5" />
		<property name="maxActive" value="100" />
		<property name="maxIdle" value="30" />
		<property name="maxWait" value="500" />
		<property name="defaultAutoCommit" value="false" />
	</bean>

	<!-- Hibernate配置 -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
			</props>
		</property>
		<property name="packagesToScan" value="com.cpsp.pojo.*" />
	<!--  	<property name="mappingResources">
		<list>
		<value>resource/hibernate/CpwebUser.hbm.xml</value>
		</list>
		</property>
		-->
		<property name="mappingLocations" value="classpath:resource/hibernate/*.hbm.xml"/>
	</bean>

	<!-- 事务管理器配置,单数据源事务 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!-- 使用annotation定义事务 -->
	<!--
		<tx:annotation-driven transaction-manager="transactionManager"
		proxy-target-class="true"/>
	-->

	<aop:config proxy-target-class="true">
		<aop:advisor pointcut="execution(* com.cpsp.service..*Service.*(..))"
			advice-ref="txAdvice" />
		<aop:advisor pointcut="execution(* com.cpsp.dao..*Dao.*(..))"
			advice-ref="txAdvice" />
	</aop:config>
	<tx:advice id="txAdvice">
		<tx:attributes>
			<tx:method name="get*" read-only="true" />
			<tx:method name="find*" read-only="true" />
			<tx:method name="query*" read-only="true" />
			<tx:method name="is*" read-only="true" />
			<tx:method name="*" propagation="REQUIRED" />
		</tx:attributes>
	</tx:advice>


</beans>


dao层的实现类的类名上面加上代码如下
@Repository("起的别名service跟据该名字找到此类生成实例对像")

service层实现类的类名上面加上代码如下
@Service("别名action层据该名调用")

声明dao接口
 @Resource(name = "dao层的别名")
    private  dao层的接口  别名;

service 层据别名调用接口的方法
如:
 
 别名.dao接口方法


action层 类前面的声名
@Controller(value="actin别名")
@Scope(value="prototype")

action层的方法调用跟service层一样

单元测式
public class UserActionTest  {
    //@Resource(name = "userServiceImpl") //自动装配注入  
    public static UserService userService;
    
    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("before class");
        ApplicationContext context=new ClassPathXmlApplicationContext("resource/spring/applicationContext.xml");
      userService=(UserService) context.getBean("userServiceImpl");

    }
    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("after class");
    }
}



  • web.zip (855 Bytes)
  • 下载次数: 2
分享到:
评论

相关推荐

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    SSH,即Struts2、Hibernate和Spring的组合,是Java Web开发中的一种经典框架集成,用于构建企业级的MVC(Model-View-Controller)应用。这个整合旨在提供一个高效、灵活且可扩展的开发环境,使开发者可以专注于业务...

    SSH和Spring框架简介

    SSH和Spring框架是Java开发中的两个重要工具,它们在企业级应用开发中占据了核心地位。SSH,是由Struts2、Spring和Hibernate三个框架组成的集成解决方案,而Spring则是一个全面的后端开发框架,包含了多种功能模块。...

    ssh整合(spring springmvc hibernate maven spring data jpa)

    SSH整合提供了强大且灵活的Java Web开发解决方案,通过Spring的管理能力,SpringMVC的Web处理,Hibernate的数据访问,Maven的项目构建,以及Spring Data JPA的数据库抽象,共同构建出高效且易于维护的企业级应用。

    Java项目之移动ssh项目(struts+spring+hibernate+oracle)源代码

    这个"Java项目之移动SSH项目"提供了使用这些技术构建的完整应用源代码,对于学习和理解SSH框架集成以及移动开发有着极大的帮助。以下是这些技术的详细说明: 1. **Struts2**:Struts2是一个基于MVC(Model-View-...

    完整的ssh项目 完整的ssh项目

    总结,SSH项目是Java Web开发中的重要实践,它利用Struts的MVC架构、Spring的依赖注入和AOP特性,以及Hibernate的ORM能力,为开发复杂的企业级应用提供了强大支持。一个完整的SSH项目应包含所有必要的组件和配置,...

    SSH项目(spring+hibernate+struts2)

    SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...

    SSH项目(hibernate+spring+struts)

    在SSH项目中,Spring作为整个应用的“粘合剂”,管理对象的生命周期,负责配置和连接数据库、事务管理以及服务层和控制层之间的通信。 3. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它简化了Java...

    maven-ssh-spring security

    【标题】"maven-ssh-spring security" 涉及到的是在Java开发中使用Maven构建的一个集成Spring Security的SSH(Struts2、Spring、Hibernate)项目。SSH是Java Web开发中常见的三大框架,而Spring Security则是一个...

    移动ssh项目(struts+spring+hibernate+oracle).rar

    这个“移动ssh项目(struts+spring+hibernate+oracle)”是一个具体的应用实例,它结合了Oracle数据库,为移动设备提供服务。 1. **Struts**:Struts是MVC(Model-View-Controller)设计模式的一个实现,主要用于控制...

    新SSH(spring、spring mvc、hibernate)框架结构的java web案例实践

    在IT行业中,SSH框架组合是Java Web开发中的经典选择,由Spring、Spring MVC和Hibernate三个主要组件构成。这个"新SSH"案例实践旨在提供一个全面的教程,帮助开发者理解和掌握这三个框架如何协同工作以构建高效、...

    基于struts+spring+hibernate+oracle的移动ssh项目源码

    基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...

    SSH整合jar包-spring5.0+hibernate5.1+struts2.5

    SSH整合是指将Spring、Hibernate和Struts这三大Java开源框架集成在一起,用于构建高效、灵活的企业级Web应用程序。这三个框架分别负责不同的职责:Spring作为应用的基石,提供依赖注入(DI)和面向切面编程(AOP),...

    SSH(Struts2,Spring,Hibernate)框架gradle项目源码

    SSH框架是Java开发中常用的三大框架,分别是Struts2、Spring和Hibernate,它们协同工作,构建出高效、灵活的企业级应用程序。在这个名为"mySSH"的Gradle项目源码中,我们可以深入理解这三个框架的集成与应用。 ...

    SSH中Spring所需基本jar包

    SSH(Struts、Spring、Hibernate)是一个经典的Java Web开发框架组合,其中Spring是核心,它负责管理和协调应用程序的各个部分。本资源提供了Spring框架所需的基本jar包,这些jar包是构建基于Spring的应用程序的基础...

    SSH Maven项目struts2.3.24+spring4.2.4.RELEASE+hibernate5.0.6.Final

    SSH Maven项目是一个基于Java的Web开发框架,由Struts2、Spring和Hibernate三大组件组成,分别负责表现层、业务逻辑层和服务数据访问层。在这个项目中,使用的版本是Struts2.3.24、Spring4.2.4.RELEASE和Hibernate...

    在SSH框架Spring的作用

    SSH框架,即Struts+Spring+Hibernate框架,是Java Web开发中的一种流行架构,它将三种技术结合在一起,各自承担不同的职责,共同构建出稳定、高效、易于维护的Web应用程序。 ### Spring在SSH框架中的核心角色 在...

    ssh 项目 struts hibernate spring

    在SSH项目中,通常会结合这三个框架的优势,Spring作为整个应用的“胶水”,管理其他组件的生命周期和依赖关系;Struts2负责接收和处理HTTP请求,控制应用程序的流程;Hibernate则用于持久化数据,与数据库交互。...

Global site tag (gtag.js) - Google Analytics