失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 开发过程遇到的问题及解决办法集锦

开发过程遇到的问题及解决办法集锦

时间:2020-02-16 20:45:30

相关推荐

开发过程遇到的问题及解决办法集锦

开发中会不断遇到各种问题,每次都是在搜索引擎和尝试中把问题解决,随着时间推移,之前解决过的问题总是会再次出现,而面临解决的时候,办法和方案有可能是忘记的,毕竟每天要写和学的东西太多了,没办法每个都仔细的搞透,为了避免反复解决同样的问题,想着一个速查手册也是必要的,里面都是曾经遇到的小问题的理解和快速解决办法,减少在同样的问题上浪费时间。

这个文档会长期更新,里面会记录到前后端及服务器和开发流程中各种各样的问题,方案和思路都是搜到的答案和试验通过的,目的是快速通过,力求一句话解决问题,不求深究,至于具体的原理可以后面有时间在找来系统的学下。

8、@Component和@Bean区别

作用上无区别,都是向容器声明一个组件

@Component定义在class,interface上,用在自定义组件上

@Bean定义在方法上,需要一些第三方组件的注入,需要用这种方式声明

使用的时候,自己的类,组件用@Component,需要注入依赖的第三方用@Bean

7、mysql数据库生成时间不对

通常是晚8小时,一般都是时区设置造成的

先检查服务器的时间是否正确,没问题再检查数据库时间

# 检查Linux服务器时间命令 date# 查询服务器时间select now();

如果时间差8小时,就去设置mysql的配置文件,增加下面配置,重启就可以了

# 设置时区=东八区default-time-zone='+08:00'

6、mysql中字符集中的 utf8 和utf8mb4

utf8是mysql老版本遗留问题,只支持三个字节的字符编码

utf8mb是mysql5.7以后的升级功能,可以支持四个字节的字符编码(如emoji表情)

没什么好考虑的,所有的地方都用utf8mb4就是了,贴个涉及到字符集设置的配置

[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-server=utf8mb4collation-server=utf8mb4_general_ci

5、mysql的CHARACTER和COLLATE作用

CHARACTER 负责指定字符集

COLLATE 负责指定排序用的字符集 ci表示大小写敏感,cs是不敏感

给个最常用的建库语句,字符集都是最常用的,建表也是类似的

CREATE DATABASE customer DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

4、@Autowired idea提示Field injection is not recommended

这个问题一开始只是IDE提示,并不影响实际使用,直到有一天注入的对象要被controller一个成员变量使用时,编译时爆出了空指针异常。

如果只是独立使用注入对象,容器完成启动对象也创建成功了,这是没问题的。但这个注入对象如果被其他对象引用了,并且早于注入时间,自然带来了空指针问题,这也是spring不推荐使用filed injected的原因。

解决办法就是换成了构造器注入,注入同时完成变量初始化。

private final WXCSConfig WXCSCONFIG;private final WebClient WEBCLIENT;@Autowiredpublic WXCSController(WXCSConfig wxcsConfig) {this.WXCSCONFIG = wxcsConfig;this.WEBCLIENT = WebClient.builder().baseUrl(this.WXCSCONFIG.getBaseUrl()).build();}

3、springboot pom<dependency>中<optional>作用

理解optional中文意思就是可选,举例来说moudle B依赖moudle A,A中的dependency配置也会共享给B。

optinal默认是false,如果加上true,那这个dependency就不会传给B,如果某个dependency你不想让依赖方也拿到,那么配置一个true就可以了。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional><scope>provided</scope></dependency>

2、sha1,base64等加密解密用到的Apache包引用

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</version></dependency>

1、StringUtils工具类用到的Apache包引用

<dependency><groupId>mons</groupId><artifactId>commons-lang3</artifactId><version>3.11</version></dependency>

如果觉得《开发过程遇到的问题及解决办法集锦》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。