1、springSide3框架的笔记springSide3框架的笔记首先,从官网下载的springSide3并不具备我所需要的jar包,几个列子和我的编写习惯有很大冲突。仔细观察目录结构发现无法像struts2.0一样,把列子改一下就可以架设成功了。没办法,下载包用处不是很大,还是看文档把在文档中,首先看到了“快速开发指南”,进去看看。一键式安装,唉,没兴趣,看看别的。还是看看“完全技术参考手册”吧,进去后看到。1. 总述 架构风格简述 CRUD程序开发指南 Spring Framework2.持久化 Hibernate、Spring Jdbc 数据库 - Derby、MySQL、Oracle2.
2、 Web MVC - Struts2、View - JSP2/Taglib、JQuery3企业服务 Web Service - JAX-WS2(CXF)、SoapUI 工具 JMX 安全 - Spring Security 2 应用服务器 - Tomcat,Glassfish,Weblogic4.常见事项 事务 日志 - Slf4j+Logback 缓存 - EhCache Utils工具类5 开发过程 开发实践指南不用说先看看前四项把,只是看看而已。好了,5分钟到了 看完了把。开始实践把。开始看第五项“开发实践指南”,重点在这里:1. SpringSide风格项目 生成SpringSide风
3、格的项目进去后:一、原理 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.ja
4、r 和两个archetype项目。三、步骤1. 双击bin/new-project.bat,按提示输入参数。2. 在tools/generator/generated-project目录下将生成新项目。3. 进行必要的配置,如修改数据源,参考Hibernate。4. 将项目加入版本管理系统向团队分发项目。 如果不打算在团队中使用maven,使用copy-jar.bat命令初始化依赖的jar到/webapp/WEB-INF/lib中,并将这些jar加入版本管理系统。五、生成结果 maven的pom.xml 及maven格式的目录结构。 Eclipse 3.4.1 for JavaEE 项目文件,
5、含符合maven格式的目录设置,UTF-8及JDK1.5设置等。 配置文件范例 源代码范例SpringSide使用maven的archetype插件进行项目生成的,不过我可不喜欢用maven开发项目,没办法先生成个例子项目把(Struts真好,复制,粘贴,项目就是我的了 哈哈)。按照步骤三的方法,经过漫长的等待,终于生成了一个例子项目。导入到eclipse,晕死 目录还真乱,我要改造他,当然也可以不改造,我只是想让他看起来更舒服。刚生成时的目录结构:改造后的目录结构。好了,顺眼了,看看他都有什么东西吧。1.user增删改差示例。2.权限的示例。先不管这些,先看看配置文件:1.applicati
6、onContext.xmlXml代码1. 2. 7. Spring公共配置文件8. 9. 10. 11. 12. 13. 14. 15. classpath:application.properties16. classpath:application.local.properties17. !-file:/var/myapp/application.server.properties-18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. !-35. 36. 37. 38. 39. 40. 41. 42. 43.
7、 44. org.hibernate.dialect.MySQLDialect45. $hibernate.show_sql46. org.hibernate.cache.EhCacheProvider47. 48. $hibernate.ehcache_config_file49. update50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. !-62. 64. -65. 66. 67. 68. 生成的很完美,我只需要改下数据源配置就可以了。注意:在sessionFactory中Xml代码1. 恩,太爽了,这个目录下实体文件都会被映射,不用像以前
8、一样添加实体了。这样一来,这个文件我们以后不用动他了。2.struts.xmlXml代码1. 2. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. AUTOMATIC14. 15. 16. 17. 18. 19. 20. 21. 22. 26. 这个配置也很强大,在不用对Action进行配置了。疑问1,如何跳转。简单,例如:UserAction中有方法Java代码1. publicStringschool()throwsException2. returnschool;3. 他就会跳转到user-school.jsp中。哪么为什么会这样呢?你会在lib中发现struts2-
9、convention-plugin-2.1.6.jar,没错就是他干的。怎么实现的?我怎么知道。Ruby代码1. 从struts2.1版本开始,ConventionPlugin作为替换替换CodebehindPlugin来实现Struts2的零配置。2. 3. *包命名习惯来指定Action位置4. *命名习惯制定结果(支持JSP,FreeMarker等)路径5. *类名到URL的约定转换6. *包名到命名空间(namespace)的约定转换7. *遵循SEO规范的链接地址(即:使用my-action来替代MyAction)8. *基于注解的Action名9. *基于注解的拦截机(Interc
10、eptor)10. *基于注解的命名空间(Nameespace)11. *基于注解的XWork包12. *默认action以及默认的结果(比如:/products将会尝试寻找com.example.actions.Products或13. com.example.actions.products.Index进行处理)14. 15. 无需配置Convention即可使用Convention,Convention的某些约束习惯可以通过配置属性来控制,16. 您也可以在类中覆写其中的方法来达到扩展目地。疑问2,我要是跳转到别的ACTION去,不到页面怎么办。嘻嘻,当然可以,不过这些东西不会让你去改变
11、配置文件的。你可以写在这里:Java代码1. Results(2. Result(name=CRUDActionSupport.RELOAD,location=user.action?page.pageParam=$page.pageParam,type=redirect),3. )4. publicclassUserActionextendsCRUDActionSupport不要说你不知道这是什么位置。你可以写多个Java代码1. Result(name=CRUDActionSupport.RELOAD1,location=user.action?page.pageParam=$page.pageParam,type=redirect),2. Result(name=CRUDActionSupport.RELOAD2,location=user.action?page.pageParam=$page.pageParam,type=redirect),其中,name:方法的返回值。 location:跳转的方法或页面。简单把。