springSide3框架的笔记.docx
- 文档编号:12711943
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:14
- 大小:339.15KB
springSide3框架的笔记.docx
《springSide3框架的笔记.docx》由会员分享,可在线阅读,更多相关《springSide3框架的笔记.docx(14页珍藏版)》请在冰豆网上搜索。
springSide3框架的笔记
springSide3框架的笔记
首先,从官网下载的springSide3并不具备我所需要的jar包,几个列子和我的编写习惯有很大冲突。
仔细观察目录结构发现无法像struts2.0一样,把列子改一下就可以架设成功了。
没办法,下载包用处不是很大,还是看文档把——
在文档中,首先看到了“快速开发指南”,进去看看。
一键式安装,唉,没兴趣,看看别的。
还是看看“完全技术参考手册”吧,进去后看到。
1.总述
∙架构风格简述
∙CRUD程序开发指南
∙SpringFramework
2. 持久化
∙Hibernate 、SpringJdbc
∙数据库-Derby、MySQL、Oracle
2.Web
∙MVC-Struts2 、View-JSP2/Taglib 、JQuery
3 企业服务
∙WebService-JAX-WS2(CXF) 、SoapUI工具
∙JMX
∙安全-SpringSecurity2
∙应用服务器-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 (allinone版已自带),并在环境变量PATH中添加maven下载目录/bin。
∙初始化SpringSide,双击bin/install.bat安装springside-core.jar和两个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格式的目录结构。
∙Eclipse3.4.1forJavaEE项目文件,含符合maven格式的目录设置,UTF-8及JDK1.5设置等。
∙配置文件范例
∙源代码范例
SpringSide使用maven的archetype插件 进行项目生成的,不过我可不喜欢用maven 开发项目,没办法先生成个例子项目把(Struts真好,复制,粘贴,项目就是我的了哈哈)。
按照步骤三的方法,经过漫长的等待,终于生成了一个例子项目。
导入到eclipse,晕死目录还真乱,我要改造他,当然也可以不改造,我只是想让他看起来更舒服。
刚生成时的目录结构:
改造后的目录结构。
好了,顺眼了,看看他都有什么东西吧。
1.user增删改差示例。
2.权限的示例。
先不管这些,先看看配置文件:
1.applicationContext.xml
Xml代码
1.
xml version="1.0" encoding="UTF-8"?
>
2. //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" 3. xmlns: jee="http: //www.springframework.org/schema/jee" xmlns: tx="http: //www.springframework.org/schema/tx" 4. xmlns: context="http: //www.springframework.org/schema/context" 5. 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" 6. default-lazy-init="true"> 7. 8. 9. -- 定义受环境影响易变的变量 --> 10. 11. 12. 13. 14. 15. application.properties 16. application.local.properties 17. -- /var/myapp/application.server.properties --> 18. 19. 20. 21. 22. -- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 --> 23. component-scan base-package="cn.xxn" /> 24. 25. -- 数据源配置,在开发测试环境直连数据库 --> 26. 27. 28. mysql: //localhost: 3306/FMS? generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=UTF-8" /> 29. 30. 31. 32. 33. -- 数据源配置,在生产环境使用应用服务器的数据库连接池 --> 34. -- jndi-lookup id="dataSource" jndi-name="java: comp/env/jdbc/ExampleDB" />--> 35. 36. -- Hibernate配置 --> 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. -- 事务管理器配置,单数据源事务 --> 56. 57. 58. 59. 60. -- 事务管理器配置,多数据源JTA事务--> 61. -- 62. 63. WebLogicJtaTransactionManager" /> 64. --> 65. 66. -- 使用annotation定义事务 --> 67. annotation-driven transaction-manager="transactionManager" /> 68.
生成的很完美,我只需要改下数据源配置就可以了。
注意:
在sessionFactory中
Xml代码
1.
恩,太爽了,这个目录下实体文件都会被映射,不用像以前一样添加实体了。
这样一来,这个文件我们以后不用动他了。
2.struts.xml
Xml代码
1.
xml version="1.0" encoding="UTF-8"?
>
2.
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
3. "http:
//struts.apache.org/dtds/struts-2.1.dtd">
4.
5.
6.
7.
8.
9.
-- 基于paramsPrepareParamsStack,增加store interceptor -->
10.
11.
12.
13. AUTOMATIC
14.
15.
16.
17.
18.
19.
20.
21.
22.
--
23. 使用ZeroConfig + CodeBehind插件,实现约定大于配置的零配置文件风格.
24. 特殊的Result路径在Action类中使用@Result设定.
25. -->
26.
这个配置也很强大,在不用对Action进行配置了。
疑问1,如何跳转。
简单,例如:
UserAction中有方法
Java代码
1.public String school() throws Exception {
2. return "school";
3.}
他就会跳转到user-school.jsp中。
哪么为什么会这样呢?
你会在lib中发现struts2-convention-plugin-2.1.6.jar,没错就是他干的。
怎么实现的?
我怎么知道。
Ruby代码
1.从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。
2.
3. * 包命名习惯来指定Action位置
4. * 命名习惯制定结果(支持JSP,FreeMarker等)路径
5. * 类名到URL的约定转换
6. * 包名到命名空间(namespace)的约定转换
7. * 遵循SEO规范的链接地址(即:
使用my-action 来替代 MyAction)
8. * 基于注解的Action名
9. * 基于注解的拦截机(Interceptor)
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去,不到页面怎么办。
嘻嘻,当然可以,不过这些东西不会让你去改变配置文件的。
你可以写在这里:
Java代码
1.@Results({
2. @Result(name = CRUDActionSupport.RELOAD, location = "user.action?
page.pageParam=${page.pageParam}", type = "redirect") ,
3. })
4.public class UserAction extends CRUDActionSupport
不要说你不知道这是什么位置。
你可以写多个
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:
跳转的方法或页面。
简单把。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- springSide3 框架 笔记