开发过程遇到的问题及解决办法集锦
开发中会不断遇到各种问题,每次都是在搜索引擎和尝试中把问题解决,随着时间推移,之前解决过的问题总是会再次出现,⽽⾯临解决的时候,办法和⽅案有可能是忘记的,毕竟每天要写和学的东西太多了,没办法每个都仔细的搞透,为了避免反复解决同样的问题,想着⼀个速查⼿册也是必要的,⾥⾯都是曾经遇到的⼩问题的理解和快速解决办法,减少在同样的问题上浪费时间。
这个⽂档会长期更新,⾥⾯会记录到前后端及服务器和开发流程中各种各样的问题,⽅案和思路都是搜到的答案和试验通过的,⽬的是快速通过,⼒求⼀句话解决问题,不求深究,⾄于具体的原理可以后⾯有时间在来系统的学下。
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⽼版本遗留问题,只⽀持三个字节的字符编码
mysql面试题集锦utf8mb是mysql5.7以后的升级功能,可以⽀持四个字节的字符编码(如emoji表情)
autowired注入为空没什么好考虑的,所有的地⽅都⽤utf8mb4就是了,贴个涉及到字符集设置的配置
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
ssh传输文件character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
5、mysql的CHARACTER和COLLATE作⽤
CHARACTER 负责指定字符集
COLLATE 负责指定排序⽤的字符集 ci表⽰⼤⼩写敏感,cs是不敏感
给个最常⽤的建库语句,字符集都是最常⽤的,建表也是类似的
flask连接socket服务器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;
@Autowired
public WXCSController(WXCSConfig wxcsConfig) {
this.WXCSCONFIG = wxcsConfig;
this.WEBCLIENT = WebClient.builder().baseUrl(BaseUrl()).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>org.apachemons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>程序员自我介绍怎么说
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论