不错,我原来就是搞php的,搞了10年。现在接手一个java的spring boot的项目。我觉得他是一坨屎。
web开发,不像原生的app开发, 语言框架给你定死了,必须用什么。现在主要流行编程语言全部可以用于web开发。
开始吐槽
1, 调试巨慢。
服务器就应该和代码分开, 别的项目,我改完代码,我浏览器刷新一下就能看见结果, 你spring 还得重启服务器? 好吧就算设置了懒加载, 我保存完代码,他自动重启。 自动重启要多长时间? 哦, 漫长的等待。你去学学go吧,即使重启,速度也秒开。
2,过度设计。
我现在有一个表,我啥也不干,就像往里面插入一条数据。
来看看他的设计:
1, controller, 建立方法,
@RequestMapping("copyShoes")
@ResponseBody
public BaseDto copyShoes(@RequestBody Shoes shoes) {
try {
return shoesService.copyShoes(shoes);
} catch (Exception e) {
logger.error(ErrorUtils.getErrorMessage(e, "ly--复制鞋子出错"));
return BaseDto.getSysError();
}
}
2, 控制器嘛,大家都有, 还有第二次server
@Transactional(readOnly = false, rollbackFor = {Exception.class})
public BaseDto copyShoes(Shoes shoes) throws Exception {
this.shoesMapper.addShoesLableRelation(shoesLableRelation);
...
}
3, 服务层嘛,处理逻辑的,继续
public interface ShoesMapper {
....
}
map接口嘛
4, 继续
<!--根据id获取信息-->
<select id="getBrandById" parameterType="String" resultMap="brandMap">
select
id,name,story,sku_rule,selling_point_fore,selling_point_five,
gmt_create,gmt_update,gmt_create_name,gmt_update_name
from brand
where id=#{id}
</select>
5, xml 嘛, 专门写sql的。继续
@Data
public class Brand extends BaseModel {
/**
* 品牌名称
*/
private String name;
}
model 层嘛, 定义数据字段格式的。
还要继续吗? 我他么,其他语言,我负责人的讲, 我整个逻辑我都用不了五行代码, 你他妈这里硬生生给我搞出5个文件来。你咋不上天呢? 你加个一百层得了。每层一个单词。
3, 西撇的打包。
好,我开发完了, 然后我每次,
mvn install
打包, 然后到线上,停止原项目,删除war包,。现在这个war包丢上去,在跑起来。
然鹅这些工作我本应该,git push, git pull就可以完成的。
屎,也是有优点的。
1, java -jar 开启进程,即可使用,没有 nginx那些麻烦的配置,服务器包里面了,只配置一次。
2, 自己算是一个微服务, 不用依赖crontab 做定时脚本,自己服务里面可以随意定时。
3, 打包麻烦,但可一定限度上保护源码。
还是我和公司垃圾吧,做这种工作
网友评论