- 浏览: 66353 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
0101wangling:
求份源码,搭建的时候总是说缺少驱动包,471267867@qq ...
手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2 -
zongshoujin:
在执行Add Web Project Capabilities ...
手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2 -
tinna_lynn:
太感谢了,问题终于解决了,我都解决了一天,差点儿把我气疯了 。 ...
No mapping found for dependency [type=com.opensymphony.xwork2.ObjectFactory, nam -
rantengfei1986:
求源码,谢谢!419910472@qq.com
手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2 -
jeffsui:
源码更给一份吗?1795144310@qq.com或者简单逻辑 ...
手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2
这段时间不是很忙,头给我说了个事儿:让我把公司的网站给整整,想起来公司好多技术都该换新版本了,这正好是个机会,于是就搭了一套最新的开发框架。
IDE:myeclipse8.6
JAR包管理:maven2
spring版本:3.0.6.RELEASE
(maven中央库目前不支持3.1.0)
struts版本:2.2.3
hibernate版本:3.6.8
1.在myeclipse中新建一个maven工程:
1.1 File-->New-->Other-->MyEclipse-->Maven-->Java Maven Project
1.2 输入工程名、groupId、artifactId以及版本号
1.3 在新建的工程中点右键-->Myeclipse-->Add Web Project Capabilities
关于这种建工程的方式,有以下几点需要说明:
1》我不知道在myeclipse如何直接建maven web工程,用maven自带的那个web工程插件建造不了,所以
就这么建了,知道怎么直接建的跟我说声,不过这样建有一个好处,就是可以部署到tomcat里面运行。
2》不想用maven的我在下面贴出来jar包列表,你们可以自己下载。
2.pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>baseFrameForMaven</groupId> <artifactId>baseFrameForMaven</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <name>baseFrameForMaven</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- J2EE容器所需包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>javaee-api</artifactId> <version>5.0-1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.faces</groupId> <artifactId>jsf-api</artifactId> <version>1.2_04</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.faces</groupId> <artifactId>jsf-impl</artifactId> <version>1.2_04</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.12</version> </dependency> <!-- mysql数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version> </dependency> <!-- c3p0数据库连接池 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <!-- 这个包是我自己的,主要提供的一些通用hibernate方法,如果没有可以去掉 --> <dependency> <groupId>cn.apple.erp</groupId> <artifactId>erp_base</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> </exclusion> <exclusion> <groupId>proxool</groupId> <artifactId>proxool</artifactId> </exclusion> </exclusions> </dependency> <!-- ======================================================================= --> <!-- spring必须包 --> <!-- spring核心包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.6.RELEASE</version> <!-- spring-asm-3.0.6.RELEASE.jar --> <!-- commons-logging-1.1.1.jar --> </dependency> <!-- 利用IOC管理Bean的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.6.RELEASE</version> </dependency> <!-- 对bean再次封装后的包,方便性强。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.6.RELEASE</version> <!-- spring-expression-3.0.6.RELEASE.jar --> <!-- spring-aop-3.0.6.RELEASE.jar --> <!-- aopalliance-1.0.jar --> </dependency> <!-- spring扩展包 --> <!-- SpringWeb下的工具包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.0.6.RELEASE</version> </dependency> <!-- 对struts支持包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-struts</artifactId> <version>3.0.6.RELEASE</version> <!-- spring-struts-3.0.6.RELEASE.jar --> <!-- commons-validator-1.1.4.jar --> <!-- commons-beanutils-1.7.0.jar --> <!-- commons-digester-1.6.jar --> <!-- oro-2.0.7.jar --> <!-- spring-context-support-3.0.6.RELEASE.jar --> <!-- struts-1.2.9.jar --> <!-- spring-webmvc-3.0.6.RELEASE.jar --> <!-- xalan-2.5.1.jar --> </dependency> <!-- 支持hibernate,对对象映射框架的支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.0.6.RELEASE</version> <!-- spring-tx-3.0.6.RELEASE.jar --> <!-- spring-jdbc-3.0.6.RELEASE.jar --> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!-- ======================================================================= --> <!-- struts2.2.3必须包 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.2.3.1</version> <!-- ognl-3.0.1.jar --> <!-- asm-commons-3.1.jar --> <!-- asm-tree-3.1.jar --> <!-- commons-lang-2.5.jar --> <!-- commons-fileupload-1.2.2.jar --> <!-- commons-io-2.0.1.jar --> <!-- xwork-core-2.2.3.1.jar --> <!-- javassist-3.11.0.GA.jar --> <!-- freemarker-2.3.16.jar --> </dependency> <!-- 日志功能 --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> <!-- avalon-framework-4.1.3.jar --> <!-- servlet-api-2.3.jar --> <!-- logkit-1.0.1.jar --> <!-- log4j-1.2.12.jar --> </dependency> <!-- ASM字节码库 --> <dependency> <groupId>asm</groupId> <artifactId>asm</artifactId> <version>3.1</version> </dependency> <!-- struts2对于spring的支持 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.2.3.1</version> </dependency> <!-- struts2中对于注解的支持 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>2.2.3.1</version> </dependency> <!-- hibernate3.6.8必须包 --> <!-- hibernate核心包 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.8.Final</version> <exclusions> <exclusion> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </exclusion> <exclusion> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> <!-- hibernate-commons-annotations-3.2.0.Final.jar1 --> <!-- hibernate-jpa-2.0-api-1.0.1.Final.jar --> <!-- jta-1.1.jar --> </dependency> <!-- hibernate使用的一个日志系统 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.4</version> </dependency> <!-- 集合类 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- XML配置和映射管理器--> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <!-- ASM字节码库--> <dependency> <groupId>asm</groupId> <artifactId>asm-attrs</artifactId> <version>2.2.3</version> </dependency> <!-- cglib字节码解释器--> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>2.2.2</version> </dependency> </dependencies> </project>
3. 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"> <!-- log4j配置文件地址 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:resources/log4j/log4j.properties</param-value> </context-param> <!-- 配置spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:resources/spring/applicationContext.xml</param-value> </context-param> <!-- log4j监听 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- Open Session In View Filter --> <!-- Spring提供的一个针对Hibernate的一个支持类, 发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Spring监听 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- spring编码过滤器 --> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <!-- 强制进行转码 --> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Struts2配置信息 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <!-- 指定配置文件路径 --> <init-param> <param-name>config</param-name> <param-value>platform-web.xml,struts-default.xml,struts-plugin.xml,resources/struts/struts.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 欢迎页面 --> <welcome-file-list> <welcome-file>/jsp/login/login.jsp</welcome-file> </welcome-file-list> </web-app>
4. log4j.properties
### set log levels ### log4j.rootLogger = debug, stdout, D, E ### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ### #kong zhi tai log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n ### \u8f93\u51fa\u5230\u65e5\u5fd7\u6587\u4ef6 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = ${webapp.root}/logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n ### \u4fdd\u5b58\u5f02\u5e38\u4fe1\u606f\u5230\u5355\u72ec\u6587\u4ef6 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File = ${webapp.root}/logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - [%p] %m%n
5. applicationContext.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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!-- 使用 annotation --> <context:annotation-config /> <!-- 使用 annotation 自动注册bean,并检查@Controller, @Service, @Repository注解已被注入 --> <context:component-scan base-package="cn.apple.baseFrameForMaven.*" /> <!-- hibernate属性配置 --> <context:property-placeholder location="classpath:resources/hibernate/hibernate.properties"/> <!-- hibernate 配置管理 --> <import resource="applicationContext-persistence.xml" /> </beans>
6. applicationContext-persistence.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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- C3P0 数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${hibernate.connection.driver_class}"/> <property name="jdbcUrl" value="${hibernate.connection.url}"/> <property name="properties"> <props> <prop key="user">${hibernate.connection.username}</prop> <prop key="password">${hibernate.connection.password}</prop> </props> </property> </bean> <!-- 配置hibernate3相关属性 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="cn.apple.baseFrameForMaven.model"/> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop> <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop> </props> </property> </bean> <!-- 配置事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置注解实现管理事务(cglib:proxy-target-class="true") --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> </beans>
7. hibernate.properties
## hibernate hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.show_sql=true hibernate.format_sql=false hibernate.hbm2ddl.auto=update ## hibernate cache hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider hibernate.cache.use_query_cache=false hibernate.cache.use_second_level_cache=true ## C3P0 configuration hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost:3306/baseframeformaven??useUnicode=true&characterEncoding=utf-8 hibernate.connection.username=root hibernate.connection.password=123
8. struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 开启使用开发模式,详细错误提示 --> <constant name="struts.devMode" value="false" /> <!-- 将对象交给spring管理 --> <constant name="struts.objectFactory" value="spring" /> <!-- 指定资源编码类型 --> <constant name="struts.i18n.encoding" value="UTF-8" /> <!-- 指定每次请求到达,重新加载资源文件 --> <constant name="struts.i18n.reload" value="false" /> <!-- 指定每次配置文件更改后,自动重新加载 --> <constant name="struts.configuration.xml.reload" value="false" /> <!-- 国际化资源文件 --> <constant name="struts.custom.i18n.resources" value="resources/content/Language" /> <!-- 默认后缀名 --> <constant name="struts.action.extension" value="do,action,jhtml,," /> <!-- Struts Annotation --> <constant name="actionPackages" value="cn.apple.baseFrameForMaven.action"/> <!-- 去掉struts2标签的自带样式 --> <constant name="struts.ui.theme" value="simple" /> <constant name="struts.ui.templateDir" value="template" /> <constant name="struts.ui.templateSuffix" value="ftl" /> </struts>
9. Language_zh_CN.properties
Demo=\u793A\u4F8B
10. Language_en_US.properties
Demo=Demo Page
11. 如此这般,不出意外,你的程序就应该可以跑起来了,我写了一个简单的登录程序验证一下:
login.jsp
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="<%=basePath%>"> <title>基础框架--登录</title> </head> <body> <s:form action="loginAction"> <s:label value="%{#request.errorMessage}"/> <s:textfield id="login" name="login" label="帐号" maxlength="36" size="20"/> <s:password id="password" name="password" label="密码" maxlength="12" size="19"/> <s:submit value="登陆" onclick="return validate()"/> </s:form> </body> </html>
success.jsp
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>基础框架--登录成功</title> </head> <body> 欢迎您:<s:label value="%{#request.userName}"/> </body> </html>
package cn.apple.baseFrameForMaven.action; import javax.annotation.Resource; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; import org.springframework.stereotype.Controller; import cn.apple.erp.base.action.BaseAction; import cn.apple.baseFrameForMaven.model.User; import cn.apple.baseFrameForMaven.service.UserService; /** * 登录用ACTION * * @author 张鑫 * */ @Controller public class LoginAction extends BaseAction { private static final long serialVersionUID = 1L; @Resource private UserService userService;//用户信息service层 /** * 用户登录验证 * * @return */ @SuppressWarnings("restriction") @Action(value = "/loginAction", results = { @Result(name = ERROR, location = "/jsp/login/login.jsp"), @Result(name = SUCCESS, location = "/jsp/login/success.jsp") }) public String verification(){ //从页面获取帐号和密码 String login = httpServletRequest.getParameter("login"); String password = httpServletRequest.getParameter("password"); User user = userService.findUserByLogin(login);//根据帐号到数据库中获取用户信息 //处理返回值信息 if(user==null){ //没有该用户 httpServletRequest.setAttribute("errorMessage", "该账户不存在");//设置出错提示信息 return ERROR; }else if(user.getUser_password()==null){ //数据库该用户密码为空 httpServletRequest.setAttribute("errorMessage", "帐号异常:没有密码。请联系管理员或者重新注册");//设置出错提示信息 return ERROR; }else if(!(user.getUser_password().equals(password))){ //判断密码是否匹配 httpServletRequest.setAttribute("errorMessage", "密码错误");//设置出错提示信息 return ERROR; }else{ //登录成功,用户信息放入session httpServletRequest.setAttribute("userName", user.getUser_name());//设置用户名 return SUCCESS; } } }
其他层我就不再往上写了。
评论
或者简单逻辑的,最好是注解方式!
相关推荐
标题中的“spring 3.0.4 +hibernate3.6+mybatis3.0.4+struts 2.1.8+freemarker整合”提到了一个经典的Java Web开发框架组合,这个组合在早期非常流行,用于构建企业级应用。下面将详细介绍这些技术及其整合方式。 1...
SSH整合配置是Java Web开发中常见的一种框架集成方式,它涉及到Struts2、Hibernate和Spring三个核心组件。这些框架的组合使用,旨在提供一个高效、灵活且可维护的MVC(Model-View-Controller)应用架构。下面我们将...
SSH框架是Java开发中常用的三大框架集成,包括Struts2、Spring和Hibernate。这个框架组合在企业级应用开发中有着广泛的应用,它们分别负责表现层、业务层和数据持久层的管理。 Struts2作为MVC(Model-View-...
A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...
a.2把spring添加为一个maven2依赖项 a.3spring与ant a.4spring与log4j 附录b用(和不用)spring进行测试 b.1测试简介 b.1.1理解不同类型的测试 b.1.2使用junit b.1.3spring在测试中的角色 b.2单元测试...
A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...
### SSH(Struts2, Spring, Hibernate)三大框架集成详解 #### 一、概述 SSH框架,即Struts2、Spring以及Hibernate三个框架的集成,是Java Web开发中非常流行的一种解决方案。它结合了MVC架构的优势,通过Struts2...
它还可以与其他框架和技术结合使用,如Struts、Hibernate、EJB等。 #### 二、Spring框架依赖管理和命名约定 **2.1 依赖管理** - **Maven依赖管理**:Spring框架提供了一个“Bill Of Materials”(BOM)坐标,可以...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
- **Spring MVC注解开发**:学习基于注解的控制器开发方式。 - **处理器映射和处理器适配器**:掌握处理器映射和适配器的工作原理。 - **视图解析器、自定义视图的概念及应用**:了解视图解析器的作用,实现自定义...