.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.