python的django框架与springboot_⽤Django开发web后端,真
的⽐。。。
不会,因为很多⼈不知道现代化的spring boot 配合上某些开源库有多⽆敌。
在web开发上,如果要⽐开源库,我个⼈觉得Java是⽆敌的。
当然这需要抛弃⼀些传统的开发⽅式和类库,能省则省,放弃⽼的思维⽅式。
go和java后端开发劣势举个栗⼦:
假如要写⼀个查询⽤户的接⼝,我们使⽤myabatis-plus。
@GetMapping("/list_user")
public Object listUser() {
List list = userMapper.selectList();
return list;
}
你看,这就完了,简单的项⽬完全可以不⽤service层,⽽mapper都是可以直接⽣成的。
假如要分页呢?
@GetMapping("/list_user")
public Object listUser(Integer pageNum,Integer pageSize) {
PageHelper.startPage(pageNum,pageSize);
List list = userMapper.selectList();
return list;
}
使⽤pagehelper,加⼀⾏代码搞定。
如果要操作redis呢?
我们完全可以抛弃掉以前⼀⼤推的util使⽤jedis那些过时的东西,直接使⽤RedisTemplate。
@RequestMapping("/list_user")
public Object listUser() {
String json = redisTemplate.opsForValue().get("userKey");
List list = JSON.parseArray(json, User.class);
return list;
}
spring boot新版本默认使⽤lettuce操作redis,相⽐于jedis,底层使⽤netty,使⽤⾮阻塞io,性能更⾼且不需要配置连接池这些玩意。
所以你仅仅只需要配置⼀个账号密码和超时时间⽽已,配置如下。
看吧,你⼏乎⽆需任何其他配置,你就享有了最⾼性能操作redis的能⼒。
⼤部分情况下,仅仅只需要⼀⾏代码。
@Autowired
private StringRedisTemplate redisTemplate;
不⽤怀疑这么写会不会有性能问题,我明确的告诉你,不会有任何问题,我⼀直都是这么⼲的。
这是我之前的压测报告,逻辑复杂的多,且会查询4次redis进⾏逻辑处理,可以达到这个并发能⼒,⼤多数⼩中型项⽬都达不到这个等级,你可以⽤阿⾥云PTS压测⼀下你的项⽬。
Java项⽬为什么被搞的这么复杂,开发这么慢,主要原因就是⽼程序员太多,不拥抱新技术造成的。
你说你的业务⽐这复杂的多?那⼜能复杂到哪去呢?⽆⾮写⼏个连表查询的sql⽽已,你⽤任何语⾔都得写。况且现在绝⼤公司的设计都倾向于单表查询,多表查询的sql越来越少。
像我⼀个朋友,2020年了,操作Excel还在⾃⼰⽤poi写代码去操作,oschina,github各种库,基本上⼀两⾏代码就能搞定的事,你⾮得去写个⼏⼗上百⾏。
多装⼏个idea插件,把spring boot内置的东西搞明⽩,mybatis-plus⽤熟练,学会⽤apache commons-lang、commons-codec、lombok,有些东西去别⼈写的库,基本上你就只⽤写⼏个连表查询的sql和if else。
spring boot开发效率已经处于顶尖⽔平,且能带来顶尖的性能。
但你如果把问题加上PHP,那我会告诉你PHP才是最叼的。
因为:PHP is the best language for web programming, but what about other languages? (来⾃2007年PHP官⽅⽂档)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论