.net 与 java 开发微服务对比

java+spring boot+maven对比.net 优势:

1. spring 自身带的ioc 比.net 更简单易用。

2. spring actuator的健康检测等运行时状态查看功能很赞。

3. devtool,JRebel的热重启和热替换功能挺好(部分修改是不起作用的)

4. lombok可以简化代码。使用@Slf4j注释写日志非常方便

5. p6spy支持在orm框架中打印出Sql。不知道.net是有相应的组件。

6. spring boot 支持连接redis,.net 需要单独找开源项目。

7. spring boot对测试的支持更加,可以模拟web请求,.net需要单独写代码。

8.maven项目子模块可以继承父模块的依赖。

9.枚举类型可以加方法,方法做类型的转换。

10.Spring Boot是java开发微服务公认的选择.net 方面没有

11.在调试框架类库源代码方面,maven相当强大。

12.IDEA的Run Dashboard使用起来挺顺的。

13.IDEA配置好数据库的连接后,可以校验实体上的coloumn注解是否正确。 

14.spring boot集成的单元测试框架使用更加方便,对web环境的模拟更好用。

java+spring boot+maven对比.net 劣势:

1.maven没有vs解决方案的类库管理好

2.vs还是最好的IDE

3.Spring字符串的比较不能用==,可以用.equal方法。

4.日期类型的处理不方便。

5. 枚举类型处理方便

6.前端js修改后,需要在当前文档下使用ctrl+shift+F9,才能生效,不至于web重启,这点相当难受。

7.开发环境搭建比较费劲。IDE+JDK+MAVEN. 

8.JDK要收费,要使用OPENJDK不知道未来是否会有影响。

9.集合List接口使用起来不友好,特别是list.stream.XXX,太难看,需要借助第三方框架还凑合。

10.实体赋值get set操作量大,如果不借助mapper的话,很难看。

11.用了java才知道 ,c#的扩展方法有多好用。

12.java的异常处理,抛出后必须在方法上throw,上层方法不处理的话,还得throw, 已经有统一的异常处理,还得加一串的throw。

13.java的匿名对象需要有接口,而.net直接new.

原文地址:https://www.cnblogs.com/hankuikui/p/10407993.html