web.xml
<?xml version="1.0" encoding="UTF-8" ?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找
-->
- <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application.xml</param-value>
</context-param>
- <!-- 对Spring容器进行实例化
-->
- <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
- <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
- <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
spring 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.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<context:component-scan base-package="com.demo" />
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="org.gjt.mm.mysql.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssha?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="admin" />
- <!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3
-->
<property name="initialPoolSize" value="1" />
- <!-- 连接池中保留的最小连接数。
-->
<property name="minPoolSize" value="1" />
- <!-- 连接池中保留的最大连接数。Default: 15
-->
<property name="maxPoolSize" value="300" />
- <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
-->
<property name="maxIdleTime" value="60" />
- <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
-->
<property name="acquireIncrement" value="5" />
- <!-- 每60秒检查所有连接池中的空闲连接。Default: 0
-->
<property name="idleConnectionTestPeriod" value="60" />
</bean>
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
- <property name="packagesToScan">
- <list>
<value>com.demo.entity</value>
</list>
</property>
- <property name="hibernateProperties">
<value>hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=false hibernate.format_sql=true</value>
</property>
</bean>
- <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
- <!-- 使用基于注解方式配置事务
-->
<tx:annotation-driven transaction-manager="txManager" />
</beans>
junit test
package com.demo.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class AppTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
long start = System.currentTimeMillis();
new ClassPathXmlApplicationContext("application.xml");
long end = System.currentTimeMillis();
System.out.println("used time-->" + (end - start));
}
@AfterClass
public static void tearDownAfterClass() {
}
@Test
public void test(){
}
}
ps:
分享到:
相关推荐
这个简单的SSH CRUD(创建、读取、更新、删除)DEMO是为初学者设计的,通过注解的方式简化了配置,使得学习者能够快速理解Web应用的基本逻辑。 **Spring框架**是应用的基础,它提供了依赖注入(DI)和面向切面编程...
在创建SSH注解整合的Demo项目时,通常会包含以下关键步骤: 1. 配置Spring:设置`@Configuration`类,使用`@ComponentScan`扫描带有注解的类。 2. 配置Struts2:在struts.xml中启用注解支持,配置Action扫描路径。 ...
在这个基于Annotation的小DEMO中,我们将探讨如何使用Struts2.3.15的注解特性来创建一个简单的Web应用。 首先,Struts2的注解简化了Action类的配置。在传统的Struts2配置中,我们通常会在struts.xml文件中定义每个...
通过这种方式,SSH权限拦截系统可以提供细粒度的访问控制,有效防止非法访问,保护系统安全。同时,由于使用了AOP,这种解决方案具有很好的可扩展性和灵活性,可以在不影响业务代码的情况下,轻松添加或修改权限策略...
这个“基于Struts2.18+Spring2.5+Hibernate3.3+Annotation注解开发的电子商务网站demo”是一个很好的学习资源,可以帮助开发者加深对这些框架的理解并熟悉实际应用。 1. **Struts2.18**:Struts2是MVC(模型-视图-...
3. **Hibernate**:这是一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互,允许开发者以对象的方式操作数据库。 接下来,我们要讨论的是如何在SSH框架下使用JSON。JSON-LIB是一个Java库,它提供了...
在这个“idfc-proguard混淆优化注解形式demo3”项目中,我们将探讨如何利用Proguard与SSH(Struts2、Spring4、Hibernate4)框架集成,通过注解方式实现优化和混淆。 首先,SSH是一个常见的企业级Java Web开发框架...
ssh2_demo这个压缩包很可能是这个整合项目的源代码示例,包括了上述所有配置和实体类等文件。通过分析这些文件,开发者可以更好地理解如何在实际项目中应用基于注解的Struts2、Spring和Hibernate整合,从而提升开发...
总的来说,Spring MVC提供了一种灵活、高效的方式来组织和处理Web应用中的请求,它强大的功能和良好的社区支持使得它成为Java Web开发的首选框架之一。理解并熟练掌握Spring MVC的配置和使用,对于提升Web开发能力至...
1 基于SSH,service采用 annotation注入减少配置 2 利用struts2 的LoginAction-validation.xml 3 在bean里把service包;暴露DWR,写了一个验证用户名的流程 4 采用jpa作为POJO,还是减少配置 5 加入display的分页,并且...
2. **spring_02_annotation**: 涉及到Spring的注解驱动开发,如@Service、@Repository、@Controller和@Autowired等,这些注解简化了XML配置,并使得代码更加简洁。 3. **spring_03_autoscan**: 介绍了Spring的自动...