虽然也做了四五年的程序员了,但是其实也是第一次整体负责和讨论并在工作当中实践具体的脚手架框架选型。
因为之前一直在外包,做相关项目得时候都已经是纯crud了,当时在京东做有关图片跟mp4具体选型得时候也是在JSF统筹下做的框架之上的改造替换和数据迁移。
本身开发脚手架大方向上选择了jdk11+springboot2.6.13+mybatis-plus+sqlserver2017+redis+swagger+jenkins的方式。
首先springboot没啥好说的,Java开发现在真的还有用springMVC的吗?
其次聊一下项目的背景:本身就是咨询公司,做这种数字化的管理端主要是为了管理跟展示信息。因为现在用户提交的一些表单什么的,应用的商业模式是VIC商业模式但是我也不懂也不是很关注。但是我确定的应该是没有什么高并发的需求以及多线程的具体使用场景(当然这些可能随着之后做需求再加即可)
jdk其实现在用了11之后感觉直接用17也未尝不可,不过本身之前一直用的Java8就选择11吧,体验了11的新特性说不准对我开发思想更有帮助。嗯我一直没有用过8以上的版本,3年前用8现在还是用8。
别的其实也没什么好说的我觉得既然有一个开源的,可以连外网的环境(估计在银行的程序员或者国家项目的程序员羡慕的哭出了声)各种东西当然要以流行的,且考虑稳定性的东西起步。因为没有用到cloud及dubbo,所以省却了有关注册中心等等东西的一个配置跟选型。除了数据库因为项目要求必须用sqlServer2017以外我觉得这些是基本的,适合开发跟需求的脚手架了。
写这篇文章本身当然不会去写如何配置及操作脚手架,只记录自己踩的一部分坑。
首先第一个问题是idea的ui问题,不过这个也不算问题大家随着更新都会遇到。2023.3版本的idea已经全面优化了ui,讲道理用完这个大家也不会喜欢用eclipse吧。本身用idea创建的时候即可配置maven及redis以及数据库链接等相关日志的包。(idea,yyds)
有关sqlServer2017:讲道理这个东西我真的踩了无数的坑,我也不知道为什么功能这么全面的一个数据库在权限控制等等方面如此的晦涩难懂包括安装。首先安装的时候要根据你自己的项目需求选择对应的数据集,这个虽然也可以在之后来进行相关的一个配置,但是我大体阅读了一下很麻烦。另外至今没有解决的问题是在安装的时候明明选择了域账户下本机win账户,但是我发现即使配置了这个账户实际上我在用自己本机win(无管理员权限)账户作为这个实例的权限拥有者,但是我登录自己的域账户依然没有办法在sscm里面自由的控制或者启动sqlserver服务。这个问题的解决方式是把sqlserver服务的启动直接以管理员启动在服务里配置了去解决sqlserver服务可以自启动的问题。
第二是用ssms登录的时候可以直接去输入localhost/自己数据库实例的这种写法。
另外是因为先装了2019随后装的2017导致2017变成了动态端口配置在调这个的时候也是需要管理员权限的,否则虽然在sscm里面提示已经修改成功但是实际上其实没有变化的。谨记。
第四个问题是因为sqlserver不支持mybatis-plus的一个元数据读取来生成实体类的问题。但是这个sql-server微软的文档上提供了一个java类库读取表中列名的方法,已经解决了。
别的疑难杂症小问题等想到再写吧。