`
liuwei1981
  • 浏览: 752597 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:156173
社区版块
存档分类
最新评论

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

 

 Spring公共配置文件  
   
    classpath:application.properties
    classpath:application.local.properties  
   
    org.hibernate.dialect.MySQLDialect
    ${hibernate.show_sql}
    org.hibernate.cache.EhCacheProvider
    
    ${hibernate.ehcache_config_file}
    update
    
 
生成的很完美,我只需要改下数据源配置就可以了。


注意:在sessionFactory中


恩,太爽了,这个目录下实体文件都会被映射,不用像以前一样添加实体了。这样一来,这个文件我们以后不用动他了。


2.struts.xml

    
     AUTOMATIC

 
  使用ZeroConfig + CodeBehind插件,实现约定大于配置的零配置文件风格.
            特殊的Result路径在Action类中使用@Result设定.
 
这个配置也很强大,在不用对Action进行配置了。


疑问1,如何跳转。简单,例如:UserAction中有方法

public String school() throws Exception {
 return "school";
}他就会跳转到user-school.jsp中。


哪么为什么会这样呢?


你会在lib中发现struts2-convention-plugin-2.1.6.jar,没错就是他干的。怎么实现的?我怎么知道。

从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去,不到页面怎么办。


嘻嘻,当然可以,不过这些东西不会让你去改变配置文件的。


你可以写在这里:

@Results({
 @Result(name = CRUDActionSupport.RELOAD, location = "user.action?page.pageParam=${page.pageParam}", type = "redirect") ,
    })
public class UserAction extends CRUDActionSupport {不要说你不知道这是什么位置。

你可以写多个

@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:跳转的方法或页面。

 

分享到:
评论
1 楼 hulushangxian 2009-12-17  
楼主你的图呢

相关推荐

Global site tag (gtag.js) - Google Analytics