博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(八)改为Spring Boot+enjoy模板的说明
阅读量:6295 次
发布时间:2019-06-22

本文共 1896 字,大约阅读时间需要 6 分钟。

hot3.png

Spring Boot很火,于是也这么试试,代码在git的。

用了Spring Boot,去掉了很多maven依赖的引入。在idea开发,用内置的tomcat,这个依赖会引发servlet找不到的异常,注释掉就可以解决。

org.springframework.boot
spring-boot-starter-tomcat

在改造时折腾了几天,就是关于使用默认的jsp,和改成其他模板的问题。Spring Boot不推荐用jsp,参考,决定用jfinal的enjoy模板。实际上也很少用到模板的模块,因为前端代码大部分是用js完成的。

@Override	public void addViewControllers(ViewControllerRegistry registry) {		registry.addViewController("/").setViewName("forward:/index");		registry.setOrder(Ordered.HIGHEST_PRECEDENCE);		super.addViewControllers(registry);	}

过程大概是这样,首先原来的管理后台,默认首页是在web.xml配置的,在继承WebMvcConfigurerAdapter之后,可以设置首页,这里的forward,也可以转发到index.html,但是,网页里面用到了${ctx}的变量,直接访问jsp会被Spring Boot跳转到error页面,而访问html页面,这个变量没有解析,导致页面的样式路径404。最后幡然醒悟,直接访问页面是不会经过ViewResolver处理页面的变量,也就达不到想要的结果。于是访问页面的操作都由Spring做跳转,不是直接访问静态页面的url。

而在用#(ctx)这个变量的时候,一直想要自动获取,试了很久也没弄出来,方法太麻烦,想到application.properties有个地方是配置服务根路径的,直接配置了server.context-path,注入配置文件中的配置到contextPath,于是 jfr.addSharedObject("ctx", contextPath); 就完成设置,也不用去做其他复杂操作。

在页面有个获取js文件时间戳的方法,写到Function的静态方法,之后通过enjoy设置SharedMethod,页面就可以直接用。这个也没有太好的方法去获取静态文件的路径,直接按照约定写死static目录。

//Java中设置jfr.addSharedMethod(Function.class);//js中使用

页面还有个地方需要注意的,就是页面用了layui的模板,这里和enjoy有冲突,加个换行稍微改一下就行。

    // 改为 -->    

接下来说说mybatis遇到的问题,配置里直接配置,看到有mybatis.type-aliases-package,mybatis.mapper-locations这两个可以配置的参数,想起以前这两个配置是直接写在SqlMapConfig.xml的,这次就一起换掉,配置文件只留下setting的内容。

sqlSessionFactory.setTypeAliasesPackage(aliasPackage);    try {        sqlSessionFactory.setMapperLocations(            new PathMatchingResourcePatternResolver().getResources(mapperLocations));    } catch (IOException e) {        e.printStackTrace();    }

这里设置别名的时候,遇到找不到别名的问题。1.mybatis默认是用类的短名小写作为别名的key,所以在xml用到类的改成小写。2.typeAliasesPackage是设置别名的基础包名,会扫描指定包及子包的类,自动加载到别名的map中,这里要写具体的包名,不能写正则表达式。p.s.就是因为写了正则表达式导致找不到的,可以考虑把所有用到的类按照业务归类到子包中。

以上就是这次改造的总结,完。

转载于:https://my.oschina.net/u/2274874/blog/1573610

你可能感兴趣的文章
DVWA系列之21 存储型XSS分析与利用
查看>>
Hyper-V 2016 系列教程25 配置NFS 存储服务器
查看>>
vCloud Automation Center (vCAC) 6.0 (一)
查看>>
oracle 11g dataguard安装出现的错误
查看>>
Microsoft Dynamics CRM 2013 试用之系统篇 Windows Server 2012 R2安装
查看>>
Skype For Business 2015实战系列6:后端数据库安装CU6补丁
查看>>
web安全之信息刺探防范(上)
查看>>
Oracle CRS的管理与维护
查看>>
开启Sharepoint 2013站点邮箱
查看>>
【VMCloud云平台】SCO(一)规划
查看>>
相对路径和绝对路径错误造成的漏洞
查看>>
元胞自动机:更接近人类思考的智能模型
查看>>
ISCSI网络存储
查看>>
开源跳板机(堡垒机)Jumpserver v0.2.0 使用说明
查看>>
第二组视频:MySQL复制
查看>>
不同系统查WWN号
查看>>
社交网络用户并非越多越好
查看>>
读于丹《趣品人生》有感
查看>>
俞敏洪:我让女儿主动学习的秘密
查看>>
Android应用程序组件Content Provider的启动过程源代码分析(1)
查看>>