summercool+ mybatis框架解决方案(6)

2019-03-22 23:11

说明:

1) SimpleUrlHandlerMapping:可以配置/item/*.htm这样的url地址全部都交

给/item /item_detail.htm地址对应的

Controller(/item/ItemDetailController.java)来处理。 2) UrlBuilderModuleConfigurer:可以配置以模块为单位的url地址映射规则,

并加入序号,如:

item

在上面这段配置中,我们可以配置一个item模块的url地址规则为:/item/{id}.htm

在freemarker页面中,如果想使用上面规则的地址,则使用url内置函数:${url(\

在上面这个函数中,item:代表模块名,param是freemarker的内置函数,返回为map类型的数据,key=id, value=1

如果大家细点一点,会发现上面有一个人seq的一个参数,这个是干什么用的呢?因为有时候,一个item模块可能会有很多的模版规则,如/item/c{category}.htm

上面这个模版的意思是,查到一个item某类目下面的详细信息,这样的话我们可以将seq设置成2

页面上可以做这样的使用:${url(\--> 其中的\就是seq的值,是让url函数调用url模版的时候,只调用seq=2的那个模版。当然,也可以不写(默认会调用第一个配置的url模版, 即seq=1的模版)。

所以,url地址规则:${url(\--> /item/1.htm;

3) 提取url中的参数,上面的例子只是提到了规则url地址的生成,但是如何

将这些url中的参数提取出来呢?那么我们就要看一下,我们url对应处理的 Controller,如下: publicclassItemDetailControllerextendsAbstractController

{

@Override

protectedModelAndViewhandleRequestInternal(HttpServletRequestrequest,

HttpServletResponseresponse) throws Exception {

UrlBuilderModuleurlBuilderModule = (UrlBuilderModule)request .getAttribute(UrlBuilderModule.URL_BUILDER); UrlBuilderBeanDefinitionurlBuilderBean = urlBuilderModule .matchUrlBuilderBean();

// 如果在访问detail页面时,没有找查到相对应的url规则直接返回到/login.htm页面

if (urlBuilderBean == null || !urlBuilderBean.isMatched()) {

returnnewModelAndView(\); } //

Mapmap =

urlBuilderBean.getUriTemplateVariables(); try

{

String id = map.get(\);

// 在这里可以写一些业务逻辑,比如在DB中查找到item信息收直接显示detail页面,否则返回到/login.htm页面 Long.valueOf(id); }

catch (Exception e) {

returnnewModelAndView(\); } //

returnnewModelAndView(\, map); } }

Spring MVC业务层的整合

Summercool controller与service层的整合

在spring配置文件中配置相关配置,如healthcloud-service.xml所示:

xmlns:context=\ xmlns:util=\ xmlns:tx=\

xsi:schemaLocation=\

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/util

http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.2.xsd\>

destroy-method=\>

aliyuncs.com:3306/auth_db_test\/>

class=\>

value=\/>

class=\anager\>

众所周知,在SpringMVC中,常用的业务层的构成是controller->service->dao, 由于引入了Summercool框架,并且Summercool框架controller层不支持使用注解方式自动注入service,所以我们需要从应用上下文中获取构建的service或者dao。如下所示:

@SuppressWarnings(\) publicstaticT

getBeanFromContext(ApplicationContextapplicationContext, Classarg0) {

return (T) applicationContext.getBean(arg0.getSimpleName());

}

说明:

ApplicationContext为应用上下文,arg0参数为服务接口的class。如下所示:

LoginServiceloginService=

BeanUtils.getBeanFromContext(getApplicationContext(), LoginService.class);

Dao层代码自动生成工具

具体使用参考com.maobang.platform.tools.create类,执行main方法即可。 Config.properties配置,如下: Author:生成代码的作者 bean_package:生成bean的目录 pack_service:生成service的目录 package_dao:生成dao的目录

package_mapper:生成mybatis mapper文件目录 driverClassName:数据库驱动名称 url:数据库url username:数据库账号 password:数据库密码


summercool+ mybatis框架解决方案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班级小组合作学习实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: