springSide3框架的笔记

来源:百度文库 编辑:神马文学网 时间:2024/07/06 00:20:38
springSide3框架的笔记
首先,从官网下载的springSide3并不具备我所需要的jar包,几个列子和我的编写习惯有很大冲突。
仔细观察目录结构发现无法像struts2.0一样,把列子改一下就可以架设成功了。
没办法,下载包用处不是很大,还是看文档把——http://wiki.springside.org.cn/display/springside3/Home。
在文档中,首先看到了“快速开发指南”,进去看看。
一键式安装,唉,没兴趣,看看别的。
还是看看“完全技术参考手册”吧,进去后看到。
1. 总述
架构风格简述
CRUD程序开发指南
Spring Framework
2. 持久化
Hibernate 、Spring Jdbc
数据库 - Derby、MySQL、Oracle
2. Web
MVC - Struts2 、View - JSP2/Taglib 、JQuery
3 企业服务
Web Service - JAX-WS2(CXF) 、SoapUI 工具
JMX
安全 - Spring Security 2
应用服务器 - Tomcat,Glassfish,Weblogic
4.常见事项
事务
日志 - Slf4j+Logback
缓存 - EhCache
Utils工具类
5 开发过程
开发实践指南
不用说先看看前四项把,只是看看而已。
好了,5分钟到了 看完了把。开始实践把。
开始看第五项“开发实践指南”,
重点在这里:
1. SpringSide风格项目
生成SpringSide风格的项目
进去后:
一、原理
SpringSide使用maven的archetype插件进行项目生成,新版的archetype2.0插件比以往有了大幅提升。
SpringSide3.0在archtypes目录里存放使用Velocity语法的项目模板。
新生成的项目中将包含保证能跑起来的项目骨架、配置文件与示例代码。
二、预要求
设置环境变量JAVA_HOME指向JDK5.0安装目录。
下载Maven2.0.9 (all in one版已自带),并在环境变量PATH中添加 maven下载目录/bin。
初始化SpringSide,双击bin/install.bat安装springside-core.jar 和两个archetype项目。
三、步骤
双击bin/new-project.bat,按提示输入参数。
在tools/generator/generated-project目录下将生成新项目。
进行必要的配置,如修改数据源,参考Hibernate 。
将项目加入版本管理系统向团队分发项目。
如果不打算在团队中使用maven,使用copy-jar.bat命令初始化依赖的jar到/webapp/WEB-INF/lib中,并将这些jar加入版本管理系统。
五、生成结果
maven的pom.xml 及maven格式的目录结构。
Eclipse 3.4.1 for JavaEE 项目文件,含符合maven格式的目录设置,UTF-8及JDK1.5设置等。
配置文件范例
源代码范例
SpringSide使用maven的archetype插件进行项目生成的,不过我可不喜欢用maven开发项目,没办法先生成个例子项目把(Struts真好,复制,粘贴,项目就是我的了 哈哈)。
按照步骤三的方法,经过漫长的等待,终于生成了一个例子项目。
导入到eclipse,晕死 目录还真乱,我要改造他,当然也可以不改造,我只是想让他看起来更舒服。
刚生成时的目录结构:

改造后的目录结构。

好了,顺眼了,看看他都有什么东西吧。
1.user增删改差示例。
2.权限的示例。
先不管这些,先看看配置文件:
1.applicationContext.xml
Xml代码',1)">

xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-lazy-init="true">
Spring公共配置文件






classpath:application.properties
classpath:application.local.properties























org.hibernate.dialect.MySQLDialect
${hibernate.show_sql}
org.hibernate.cache.EhCacheProvider

${hibernate.ehcache_config_file}
update













Spring公共配置文件classpath:application.propertiesclasspath:application.local.propertiesorg.hibernate.dialect.MySQLDialect${hibernate.show_sql}org.hibernate.cache.EhCacheProvider${hibernate.ehcache_config_file}update
生成的很完美,我只需要改下数据源配置就可以了。
注意:在sessionFactory中
Xml代码',2)">


恩,太爽了,这个目录下实体文件都会被映射,不用像以前一样添加实体了。这样一来,这个文件我们以后不用动他了。
2.struts.xml
Xml代码',3)">

"http://struts.apache.org/dtds/struts-2.1.dtd">








AUTOMATIC








AUTOMATIC
这个配置也很强大,在不用对Action进行配置了。
疑问1,如何跳转。简单,例如:UserAction中有方法
Java代码',4)">
public String school() throws Exception {
return "school";
}
public String school() throws Exception {return "school";}
他就会跳转到user-school.jsp中。
哪么为什么会这样呢?
你会在lib中发现struts2-convention-plugin-2.1.6.jar,没错就是他干的。怎么实现的?我怎么知道。
Ruby代码',5)">
从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。
* 包命名习惯来指定Action位置
* 命名习惯制定结果(支持JSP,FreeMarker等)路径
* 类名到URL的约定转换
* 包名到命名空间(namespace)的约定转换
* 遵循SEO规范的链接地址(即:使用my-action 来替代 MyAction)
* 基于注解的Action名
* 基于注解的拦截机(Interceptor)
* 基于注解的命名空间(Nameespace)
* 基于注解的XWork包
* 默认action以及默认的结果(比如:/products 将会尝试寻找com.example.actions.Products 或
com.example.actions.products.Index进行处理)
无需配置Convention即可使用Convention,Convention的某些约束习惯可以通过配置属性来控制,
您也可以在类中覆写其中的方法来达到扩展目地。
从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。* 包命名习惯来指定Action位置* 命名习惯制定结果(支持JSP,FreeMarker等)路径* 类名到URL的约定转换* 包名到命名空间(namespace)的约定转换* 遵循SEO规范的链接地址(即:使用my-action 来替代 MyAction)* 基于注解的Action名* 基于注解的拦截机(Interceptor)* 基于注解的命名空间(Nameespace)* 基于注解的XWork包* 默认action以及默认的结果(比如:/products 将会尝试寻找com.example.actions.Products 或 com.example.actions.products.Index进行处理)无需配置Convention即可使用Convention,Convention的某些约束习惯可以通过配置属性来控制,您也可以在类中覆写其中的方法来达到扩展目地。
疑问2,我要是跳转到别的ACTION去,不到页面怎么办。
嘻嘻,当然可以,不过这些东西不会让你去改变配置文件的。
你可以写在这里:
Java代码',6)">
@Results({
@Result(name = CRUDActionSupport.RELOAD, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,
})
public class UserAction extends CRUDActionSupport {
@Results({@Result(name = CRUDActionSupport.RELOAD, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,})public class UserAction extends CRUDActionSupport {
不要说你不知道这是什么位置。
你可以写多个
Java代码',7)">
@Result(name = CRUDActionSupport.RELOAD1, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,
@Result(name = CRUDActionSupport.RELOAD2, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,
@Result(name = CRUDActionSupport.RELOAD1, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,@Result(name = CRUDActionSupport.RELOAD2, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,
其中,name:方法的返回值。 location:跳转的方法或页面。
简单把。