java技术坑

  1. spring-data-mongodb中query条件中的问题id自动转成_id,如MongoTemplate.find有几个重载方法,可是其中一个须要传值domain的Class,由于不少mongo表信息都是配置到domain当中的,包括主键id等信息,若是当此参数为空时,就没法将id转成_id
  2. 关于java list接口,Collections.emptyList和Arrays.asList都会产生一个list对象,分别对应其类中实现的内部类EmptyList和ArrayList,这两个类实现都基本同样都是继承了AbstractList,但值得注意的是,因为这两个类都没有具体去实现add(int index, E element)方法,所以会致使以上两个方法的返回的对象是没有办法add新成员的,包括addAll也没法使用的,皆会抛出UnsupportedOperationException。
  3. fastjson的toJSON和toJSONString虽然均可以把对象转为json,可是仍是有些区别的,toJSON会作一些列的类型匹配,最终转换成JSON对象,toString时就和toJSONString差很少了,曾经犯了一个错,在输出日志时,直接用了toJSON,多是由于这个对象有些特殊的地方,直接致使转json报异常了。缘由未深究,但总得来讲,他们看着很像,却有很大差别
  4. Spring Cloud中同时使用spring cloud gateway和feign的时候,这两个组件同时会初始化一个httpClient的bean,但两个bean是不一样的类同名的bean,因此致使bean同名冲突,这个时候能够将其中一个本身从新在本身的代码中从新定义一个新的bean的名称便可,我是把feign中的httpclient本身初始化了一个,不过这个问题已经反馈给官方,貌似已经在新的版本中解决了,https://github.com/spring-cloud/spring-cloud-gateway/issues/1134java

相关文章
相关标签/搜索