这个项目是我自己在搜集网上的示例并整合在一起的工程示例
里面用到了mybatis-plus和spring-security组件,目标是实现一个基本可用的开发框架
这里是传送门yangzehan/mybatis-native-demo: sprongboot3集成mybatis-plus等开源组件 实现aot能力 (github.com)我的个人项目目前可用使用base分支或者main分支,base分支是只做了spring-boot和mybatis-plus的集成,main分支则是在base的基础上集成了spring-security的一些基础示例初步实现了登录登出注销等常见操作
这里带大家分析一下main分支
重点看admin模块下的config目录
这里对应了mybatis的native配置、mybatis-plus的native配置、自定义的native配置以及security的配置。其中mybatis、mybatis-plus的配置是由mybaits-plus的基础native的示例工程中搬来的在上一期有写。SecurityConfig是根据尚硅谷的笔记整理的,SecurityConfig中额外增加了一个RuntimeHintsRegistrar用来注册user类的序列化。
大家可用执行这个文件
并修改spring的配置文件指向自己的数据库然后就可用开始打包了。
graalvm打包本地镜像
打包本地镜像的前提是你配置好了环境变量这部分的内容在网上是有的。你只需要测试能够打包一个hello world就行。
首先勾上这两个配置
选择admin模块
执行这个命令
然后就会在admin的target目录下找到
于是咱们双击admin.exe启动程序
不出意外是可用正常运行我们尝试登录,访问http://localhost:8080/demo/
admin/password 可以正常登录
再次访问http://localhost:8080/demo/ 注销账户
可以正常运行,理论上打包成exe可执行文件内存占用会减小和启动时间也会减小是java云原生目前较好的选择。但是目前国内好像对内存占用以及启动时间还不是很感冒至少我呆的公司是这样的。认为作为乙方配置不够就向甲方申请增加服务器就好了。也许只有大厂才会真的意识到资源的重要性???不太懂。