python的django框架与springboot_用Django开发web后端,真的比SpringBoot要省事吗?

不会,因为很多人不知道现代化的spring boot 配合上某些开源库有多无敌。

在web开发上,如果要比开源库,我个人觉得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,性能更高且不需要配置连接池这些玩意。

所以你仅仅只需要配置一个账号密码和超时时间而已,配置如下。

spring.redis.database=0

spring.redis.host=127.0.01

spring.redis.port=6379

spring.redis.password=

spring.redis.timeout=3000ms

看吧,你几乎无需任何其他配置,你就享有了最高性能操作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官方文档)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值