- 浏览: 3434354 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
SSH全注解-annotation详细配置 http://www.iteye.com/topic/816574
使用 Spring 2.5 注释驱动的 IoC 功能 https://www.ibm.com/developerworks/cn/java/j-lo-spring25-ioc/
只是参考.
先根据http://panyongzheng.iteye.com/blog/1103591配置好无注解,然后在根据下面的设定来实现全注解。当然,你可以只直接Spring和Hibernate,Struts.xml的东西依然保存。这个看你喜欢。
@Results也可以用于整个Action注解,跟在@ParentPackage("struts-default") 注解的后面,那么这个@Result就相对应整个类。
1.只注解Sprint & Hibernate的内容。
2.Struts,Spring,Hibernate全部注解。
3.使用通配符配置result。
1.实现Spring & Hibernate注解(这里不针对Struts使用注解):
web.xml
struts.xml,class定义的Action,应该跟Spring的注解@Controller("LoginAction")对应。
applicationContext.xml
DAO:
Service:
Action:
2.Struts一并使用注解:
修改web.xml
去掉struts.xml的配置:
Action.java增加一些注解:
或者换一种配置:
struts.xml
Action.java
3.使用通配符配置Result:
调用Aciton的URL: indexPageAction.action
.
使用 Spring 2.5 注释驱动的 IoC 功能 https://www.ibm.com/developerworks/cn/java/j-lo-spring25-ioc/
只是参考.
先根据http://panyongzheng.iteye.com/blog/1103591配置好无注解,然后在根据下面的设定来实现全注解。当然,你可以只直接Spring和Hibernate,Struts.xml的东西依然保存。这个看你喜欢。
@Results也可以用于整个Action注解,跟在@ParentPackage("struts-default") 注解的后面,那么这个@Result就相对应整个类。
1.只注解Sprint & Hibernate的内容。
2.Struts,Spring,Hibernate全部注解。
3.使用通配符配置result。
1.实现Spring & Hibernate注解(这里不针对Struts使用注解):
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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_3_0.xsd"> <display-name></display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> <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>login.jsp</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
struts.xml,class定义的Action,应该跟Spring的注解@Controller("LoginAction")对应。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="struts2" extends="struts-default" namespace="/"> <action name="login" class="LoginAction"> <result>/index.jsp</result> <result name="input">/login.jsp</result> </action> </package> </struts>
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:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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 "> <aop:aspectj-autoproxy proxy-target-class="true"/> <context:annotation-config /> <context:component-scan base-package="com" /> <tx:annotation-driven transaction-manager="transactionManager" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=CITYU_DEV_TEST"> </property> <property name="username" value="sa"></property> <property name="password" value="asl12345"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" p:dataSource-ref="dataSource" p:packagesToScan="com.pojo" > <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans>
DAO:
package com.dao.impl; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Repository; import com.dao.IDAO_TEST_TABLE; import com.pojo.TestTable; @Repository("DAO_TEST_TABLE") public class DAO_TEST_TABLE extends HibernateDaoSupport implements IDAO_TEST_TABLE { /* (non-Javadoc) * @see com.dao.impl.IDAO_TEST_TABLE#list() */ @Autowired public void setSessionFactoryOverride(SessionFactory sessionFactory){ super.setSessionFactory(sessionFactory); } @Override public List<TestTable> list(){ return getHibernateTemplate().find("from TestTable order by id.userName"); } /* (non-Javadoc) * @see com.dao.impl.IDAO_TEST_TABLE#save(com.pojo.TestTable) */ @Override public void save(TestTable t){ getHibernateTemplate().save(t); } }
Service:
package com.service.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.dao.IDAO_TEST_TABLE; import com.pojo.TestTable; import com.service.ITestTableService; @Service("TestTableService") @Transactional public class TestTableService implements ITestTableService { @Resource(name="DAO_TEST_TABLE") public IDAO_TEST_TABLE dao; /* (non-Javadoc) * @see com.service.impl.ITestTableService#list() */ @Override @Transactional(propagation=Propagation.REQUIRED, readOnly=true) public List<TestTable> list(){ return dao.list(); } /* (non-Javadoc) * @see com.service.impl.ITestTableService#save(com.pojo.TestTable) */ @Override @Transactional(propagation=Propagation.REQUIRED) public void save(TestTable t){ } public IDAO_TEST_TABLE getDao() { return dao; } public void setDao(IDAO_TEST_TABLE dao) { this.dao = dao; } }
Action:
package com.action; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import com.opensymphony.xwork2.ActionSupport; import com.service.impl.TestTableService; @Controller("LoginAction") public class LoginAction extends ActionSupport { /** * */ private static final long serialVersionUID = -6434128483294080524L; @Resource(name="TestTableService") public TestTableService service; private String userName; private String userPassword; @Override public String execute() throws Exception { System.out.println("Call from action."); List list = service.list(); System.out.println(list.size()); return super.SUCCESS; }; @Override public void validate() { System.out.println(getText("test.i18n")); }; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public TestTableService getService() { return service; } public void setService(TestTableService service) { this.service = service; } }
2.Struts一并使用注解:
修改web.xml
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>com.action,com.actionother</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
去掉struts.xml的配置:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> </struts>
Action.java增加一些注解:
package com.action; import java.util.List; import javax.annotation.Resource; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.springframework.stereotype.Controller; import com.opensymphony.xwork2.ActionSupport; import com.service.impl.TestTableService; @Controller("LoginAction") @Namespace("/") @ParentPackage("struts-default") public class LoginAction extends ActionSupport { /** * */ private static final long serialVersionUID = -6434128483294080524L; @Resource(name="TestTableService") public TestTableService service; private String userName; private String userPassword; @Override @Action(value="/login", results={ @Result(name="success",location="/index.jsp"), @Result(name="input",location="/login.jsp") } ) public String execute() throws Exception { System.out.println("Call from action."); List list = service.list(); System.out.println(list.size()); return super.SUCCESS; }; @Override public void validate() { System.out.println(getText("test.i18n")); }; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public TestTableService getService() { return service; } public void setService(TestTableService service) { this.service = service; } }
或者换一种配置:
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="struts2" extends="struts-default" namespace="/"> </package> </struts>
Action.java
@Controller("LoginAction")/*这里是可以省略的*/ @ParentPackage("struts2") /* @Result可以在这里配置。 */ public class LoginAction extends ActionSupport { ...... ...... }
3.使用通配符配置Result:
@Override @Action(value="/*PageAction" ,results={ @Result(name="success",location="/{1}.jsp") } ) public String execute() throws Exception { // TODO Auto-generated method stub //return super.execute(); System.out.println("@@ Call-->PageAction"); return "success"; }
调用Aciton的URL: indexPageAction.action
.
发表评论
-
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1344http://blog.csdn.net/xiyuan1999 ... -
基于spring,Atomikos,mybatis的分布式动态数据源JTA实现
2016-04-27 16:37 1085原文;http://www.blogjava.net/zuxi ... -
Servlet3.0新特性@WebServlet
2016-03-09 21:35 1615http://my.oschina.net/u/2416019 ... -
Spring+Mybatis+Velocity
2015-12-17 09:55 979原文: http://my.oschina.net/langh ... -
Freemarker页面语法
2015-12-03 10:29 1217Freemarker页面语法http://ji ... -
session过期后自动跳转到登陆页
2015-12-02 15:36 2648session过期后自动跳转到登陆页http://blog.c ... -
apache shiro - 动态创建filterchaindefinitions
2015-12-01 14:33 2568http://www.360doc.com/content/1 ... -
java代码中获取classpath路径
2015-11-27 11:40 2024http://blog.csdn.net/magi1201/a ... -
springmvc整合 sitemesh + freemarker+spring ioc
2015-11-24 19:30 2322使用freemarker.properties配置方式: ht ... -
Sitemesh 3 的使用及配置
2015-11-17 09:33 1061Sitemesh 3 的使用及配置 http://www.cn ... -
SpringMVC + Mybatis + Shiro 权限整合
2015-11-14 14:06 8756详细见参考文章: 基于Spring + Spring MVC ... -
Servlet中listener(监听器)和filter的总结
2015-04-10 23:14 1192http://my.oschina.net/ydsakyclg ... -
Spring Security 3.2.x 配置
2014-06-15 22:02 3928使用 Spring Security 保护 Web 应用的安全 ... -
SpringMVC + WebSocket + X
2014-06-12 10:45 4621官方文档:WebSocket Support http://d ... -
JSTL empty判断空值
2014-06-06 08:51 1349http://sphinx-yong.iteye.com/bl ... -
weblogic getServletContext().getRealPath("/")
2014-05-30 08:35 1858http://1185734295.iteye.com/blo ... -
上传文件到虚拟路径下
2014-05-16 23:44 2006http://guard.iteye.com/blog/206 ... -
在 Web 项目中应用 Apache Shiro
2014-03-17 15:00 1089http://www.ibm.com/developerwor ... -
SpringMVC3.2.x + Hibernate4.2.x + ecache + Spring Security 3.0.5
2014-01-20 09:24 1357这只是部分代码,一些代码可以参考:http://panyong ... -
SpringMVC3.2.x + Hibernate4.2.x + ecache
2013-05-18 12:50 2131附件是源码 pom.xml ---------------- ...
相关推荐
根据给定的信息,本文将对“SSH全注解”这一主题进行深入解析,重点探讨如何在Struts2、Hibernate和Spring框架中运用全注解方式实现无XML配置的开发模式。 ### SSH全注解概念 SSH是Struts2、Spring和Hibernate三个...
在这个项目中,SSH2被进一步优化,引入了注解(Annotation)的方式,使得配置过程更为简洁,提高了开发效率。下面将详细介绍这个项目的核心知识点。 1. **Spring框架**:Spring是Java应用开发的核心框架,提供依赖...
本文将详细介绍如何搭建一个基于全注解配置的SSH环境。 #### 二、准备工作 1. **创建Web项目并添加SSH支持**: - 使用IDE(如Eclipse或IntelliJ IDEA)新建一个Web项目。 - 在项目设置中确保选中了“Enable ...
本资源“Annotations 所需jar包.rar”显然是为了支持使用注解(Annotation)来配置SSH框架,使得代码更加简洁、可读性更强。注解是一种元数据,它提供了在源代码中嵌入信息的方式,这些信息可以被编译器或运行时环境...
本文将详细讲解使用注解方式进行SSH整合的步骤。 首先,我们需要准备一个开发环境,这里选择了Myeclipse6.5作为IDE,搭配JDK1.6和Tomcat6.0作为运行环境。SSH整合中的Struts2版本为2.1.8,Spring版本为2.5,...
在使用Hibernate时,现在推荐使用Annotation配置,而不是传统的XML配置。例如,你可以直接在实体类上使用`@Entity`、`@Table`等注解,而不是通过`AnnotationConfiguration`创建SessionFactory。 总的来说,SSH整合...
在`SSHnote_Spring_2_Annotation`压缩包文件中,你可能找到了进一步的示例和详细解释,包括如何配置Spring以启用注解处理,以及如何利用注解进行更复杂的依赖管理和配置。这些资料将帮助你更好地理解Spring 4.x中...
在现代的开发环境中,注解(Annotation)的应用使得代码更加简洁、易读,SSH框架也支持全注解开发,大大简化了配置文件的工作量。本文将深入探讨SSH框架中各组件的注解使用及其背后的原理。 1. **Struts2注解** - ...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
总的来说,这个"ssh2+oracle 全注解 annotation lib包"提供了一套完整的解决方案,让开发者能够安全地远程管理服务器,并且高效地操作Oracle数据库,同时利用Java的注解技术减少了手动配置的工作,提高了开发效率。...
### SSH注解整合知识点 #### 一、概述 在软件开发领域,特别是Java Web应用开发中,SSH(Struts + Spring + Hibernate)架构是一种非常流行的轻量级开发框架组合。随着技术的发展,基于注解(Annotation)的配置...
"SSH全注解登录"指的是使用SSH框架,并且利用注解(Annotation)的方式来实现登录功能。注解是一种元数据,它可以提供关于代码的额外信息,使得框架能自动配置和管理对象。例如,在Spring中,可以使用`@Autowired`...
在"ssh2 Annotation注解 框架+oracle"的场景下,我们将深入探讨SSH2框架如何结合注解和Oracle数据库进行应用开发。 **Spring Annotation注解** Spring框架允许开发者使用注解来声明Bean、依赖注入、事务管理等。...
<context:annotation-config/> <!-- 扫描包 --> <context:component-scan base-package="com.org.core"/> <bean id="jspViewResolver" class="org.springframework.web.servlet.view....
基于注解Annotation的最新版SSH(Struts2.3.7+Hibernate4.1.9+Spring3.2.0)整合开发,真正实现零配置。 最新版本Struts、Spring、Hibernate框架整合: struts-2.3.7 spring-framework-3.2.0.RELEASE hibernate-...
这个“ssh2全annotation配置模板”旨在提供一个简洁且高效的整合示例,利用注解(Annotation)来减少XML配置文件的复杂性。接下来,我们将详细讨论SSH2框架中的各个组件以及它们如何通过注解进行配置。 首先,...
`<context:annotation-config>`元素会扫描容器中的所有Bean,查找并处理如`@Autowired`、`@Required`、`@PostConstruct`等注解,实现依赖注入。 `<context:component-scan>`元素用于指定需要扫描的包,这样Spring会...
其次,Spring 3.0.0.M2引入了基于注解的配置(Annotation-based Configuration),大大简化了XML配置。例如,@Component、@Service、@Repository和@Controller等注解,可以直接在类上标注,表明类的角色,简化了配置...