不会,因为很多人不知道现代化的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官方文档)