Rose框架
官网:
https://code.google.com/p/paoding-rose/
1 .对rose框架的整体认识
1.1B/S web开发
我们所做的web开发是基于HTTP的应用服务开发,主要由两部分组成:浏览器+服务端
大致流程为:浏览器向服务端发送HTTP请求,获取服务器IP,建立TCP连接,发送请求
服务器侦听请求,侦听到请求,建立起连接,处理然后返回响应消息
1.2Rose框架
初始化:
Tomcat启动时,会读取配置文件,进行服务的初始化工作
而对于rose,会进行两个主要的初始化工作:
一个是:对于各个要使用的Bean进行实例化。包括controller、dao等
另一个是:构建匹配树。这是rose解析用户请求并进行匹配处理的基础
rose框架里面包含的思想:
资源封装:对底层资源的封装,开发者不用考虑servlet实现,doget\dopost,数据库连接等底层实现,可以更加专注于业务逻辑的分析和处理
分层设计:rose框架本身就包含了分层的概念,资源封装,通过提供接口
我们在开发的时候也应该注意分层的概念,合理设计。页面,controller,service,jade层间设计与关联
匹配机制:rose匹配树,实际为所定义的controller URL树。客户请求及响应实为与相关的controller间的交互
Rose运行机制:
Rose解析客户的请求地址,从匹配树中寻找匹配的controller
寻找到相匹配的controller,如若存在拦截器注解,则还会先进行拦截器的处理,然后再传给controller
如果在匹配树中无法再到相匹配的controller,则会返回404的错误
IOC、依赖注入概念:
基本概念:程序运行过程中,当需要用到相关的对象时,动态的注入该对象,来执行对象方法,改变对象属性。
具体怎么实例化这个对象,对象生命周期的管理等,均由框架来自动管理
而Rose提供了非常便利的@ 注解使用方式,让开发者可以方便的使用相关的类及类方法
这里的IOC概念,我觉得其实是对java垃圾回收的延伸
因为有垃圾回收的特性,才能够使对象生命周期的自动管理得以实现
小结:Rose框架本身维护着一个主‘进程/线程’,在初始化阶段会实例化相关的对象。
然后运行过程通过对客户端请求地址的解析,调用相匹配的对象方法进行处理,而这部分的实现代码则由框架进行封装维护
开发者只需要根据业务开发实现相关功能的类即可(封装)
2 基于rose框架的开发
2.1web开发------web服务端开发
我们所开发的web服务主要是服务端的服务,其包括三个部分:
Views:用户提交请求,同时呈现响应信息:jsp
业务逻辑处理:controller、service
数据持久化:mysql、jade
Rose框架其实是一套规则,我们就是利用这套规则,来进行快速高效的web服务开发
(1)controller bean的定义规则:
1需在controllers package下进行controller类的定义
2controller类都需要以controller为后缀
(2)数据持久化:
数据库的操作采用rose jade
使用规则:
1定义数据库操作的DAO接口,并使用@Dao标注
2使用@SQL标注并定义相关的sql语句作为该注解的值
3定义相关的sql方法接口作为调用实体
与匹配相关的问题
rose在运行过程中,客户请求处理首要过程就是进行对请求地址的解析
在开发中常出现匹配异常:
可以注意是否定义相对应的get 或 post的controller方法
是否定义与url相对应的controller或者方法
开发过程:
通过使用@Path @Get @Post可以对controller类的url地址进行设置
@get @post则可以配置相关get post方法
注意参数获取的对应url地址
2.2 controller的深入
对于交互,即在与页面端的数据传输中:
Controller是在方法中通过@Param 参数的方式来获取提交的数据,或者可以在方法中通过getParameter的方法来获取
页面端向后端传递数据的方式有两种:
1在映射地址上直接传递数据
2可以通过表单等方式传递到对应变量中,如果传递的是bean数据,页面传递的数据会自动封装到bean里
Controller要返回相关的数据,则通过Invocation变量进行传输
可以采用addModel和setAuttribute的方法
Controller功能分析:
根据rose匹配运行的机制,我们知道,controller其实是直接与用户进行交互的
获取用户提交的数据,同时返回响应的信息
因此,在设计controller bean的时候则要符合业务逻辑处理,即controller间的职责需要明确 ,一个controller对应一个业务处理块
Controller主要是获取页面提交数据,返回响应信息,作为一个信息的中转站
业务逻辑的处理可以由service层进行处理,并由controller进行调用
定义各个业务逻辑处理的service类,具体的编写规则:
1定义service类接口
2定义service类的实现
3在applicationContext XML文件配置service bean,包括名字,实现类地址
4在要运用的类bean上标注@Autowired注解,则rose框架会自动实例化注入该对象
other question
对于数据库的操作,要注意sql语句的设计
不要把业务逻辑的处理带到sql语句中
Sql语句要原子化,业务处理由负责业务逻辑处理的service层进行考虑
分享到:
相关推荐
rose框架入门所需掌握的知识点,包括拦截器,错误处理等等
Rose框架例子,需要的同学可以瞧瞧:)
rose是人人网、糯米网释出的、开源的高效Java web开发框架。该资源介绍deno的简单使用,项目包含对数据库的基本操作,附带数据库
针对rose框架流程搭建一个简单的项目,方便初学者快速理解、掌握其工作原理。
环境配置为maven3.1.1,tomcat6.0.41,jdk1.7,myeclipse10,mysql数据库。使用paoding rose框架,spring3,mybatis3;在dao层简单进行BaseDao设计;用VM实现页面显示。 在controller层实现了单条user数据的显示。
NULL 博文链接:https://aoyouzi.iteye.com/blog/2076601
Rose框架目前到网上不好收索到.这个可供学习Rose框架的友人参考.
人人网和糯米网释出的开源web框架,很好用,怎么用可以参考
Rose 使用教程,讲述各种图的用法。用视频讲述使用rose画图的过程
paoding-rose, paoding-rose 提供最好用的Java Web应用整体性框架。
图书管理系统rose生成 采用面向对象编程 通过rose2003生成主体框架
SSH 框架的 ROSE建模 实例,入门适用
<br>第五章 用Rational Rose生成系统框架代码 §5.1 生成框架代码的基本步骤 §5.2 生成什么 §5.3 由Rational Rose生成的部分框架代码 §5.4 用Rational Rose逆向转出工程代码简介 第六章 ...
深入浅出地介绍了统一建模语言和Rational Rose软件,通过ATM和订单处理例子介绍如何用UML和Rose进行项目需求分析、结构规划和生成框架代码,以及如何从现有系统逆向转出工程代码,生成Rose模型。
小米公司的 Rose 是一个 Java 的 Web 开发框架,但不仅仅是框架。Rose是面向使用Java开发的同仁们的。Rose 提供的各种特性和约束惯例,目的就是为了使您在能够轻松地开发web程序。如果您觉得Grails的想法很好,您...
一个rose框架入门级别的简单demo
本书深入浅出地介绍了统一建模语言(UML)和Rational Rose软件,通过航空公司与购物推车例子介绍如何用UML和Rose进行项目需求分析、结构规划和生成框架代码,以及如何从现有系统逆向转出工程代码,生成Rose模型,并...
vapr 用于编写表达性,功能样式的应用程序的框架。 通过使用不变性,后向流控制和可观察性等概念,Vapr使复杂的任务变得容易,同时防止了错误和不被破坏。 Vapr不是RESTful JSON服务器,模板渲染应用程序或资产流...
Rational Rose是利用UML(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成Rose模型的功能。...
基础框架 基础框架:springboot 2.1.3.RELEASE 编辑工具:IDEA 2019.1 开发基础:JDK 1.8.0_191 依赖工具:apache-maven-3.6.0 数据库:MySQL 5.7 基础篇 名称 博文地址 原始地址 SpringBoot入门案例Hello World ...