【@PostConstruct、内部类、beancopier】

1 篇文章 0 订阅
1 篇文章 0 订阅

1.@PostConstruct

1.@PostConstruct在jdk11弃用,可采用Spring的InitializingBean和DisposableBean来替代对应的功能。

2.内部类

2.内部类并不是直接调用外部传递的参数,而是利用自身的构造器对传入的参数进行备份,自己内部的方法实际调用的是自己的属性而非外部参数。
因为是对外部参数的拷贝,所以当对外部参数做出修改时,内部类中属性不会同步修改,而在代码中看来内部类是直接引用的外部变量;为了避免这样的数据不一致性,被内部类方法调用的外部参数被强制加上final修饰,保证内外参数一致性;

3.复制对象-lombok无法赋值

beancopier使用getter,第二个字母大写时 使用lombok会把第一个字母大写,第二个字母转小写,没有无法复制该字段;:使用idea生成getter;

4.mybatis

xml中’${appid}’ 如果没有引号,则sql中也不会添加’ ';

5.hutool

@Alias使用别名,多种场景下可用;

Type definition error

使用hutool json工具时,对象属性为null会被cn.hutool.json.JSONNull代替,springmvc使用@RestBody响应时无法序列化此属性,将抛出以下异常;简单解决办法为手动置该属性为null;
Type definition error: [simple type, class cn.hutool.json.JSONNull]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class cn.hutool.json.JSONNull and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.iflytek.auto.usp.common.WebApiResult[“data”])

例如:json转化对象时,json为下划线转java对象驼峰式;

6.容器

容器实际是一种进程隔离技术,通过linux的namespace技术做环境(文件系统Mount、网络Network、进程间通信IPC、主机名UTS、PID进程、用户User)隔离;通过Linux提供的cgroups机制进行硬件资源的限制;
搭建Tomcat集群,通过Nginx代理Tomcat服务器做负载均衡,对每个Tomcat的调优,合理设置设置Tomcat的最大连接数,因为Tomcat的默认最大并发数为200。适当的加大Tomcat的内存和最多线程数,设置JVM的处置大小为服务器可用内存的最大值的80%。

7.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值