组件自动装配
- 激活: @EnableAutoConfiguration
- 配置:/META-INF/spring.factories //工厂机制
- 实现:XXXAutoConfiguration
跨域问题
当前端vue使用axios进行跨域访问时,出现
No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://xxx.com‘ is therefore not allowed access.
解决方案:如果 server 端是自己开发的,那么修改相关代码支持跨域即可。如果不是自己开发的,那么可以自己写个后端转发该请求,用代理的方式实现。
在server端
SpringBoot增加CorsConfig和CorsFilter两个文件
注意:有些浏览器不允许从HTTPS的域跨域访问HTTP,比如Chrome和Firefox,这些浏览器在请求还未发出的时候就会拦截请求,这是一个特例。
具体内容:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
CorsFilter如果出现以下报错:
1 | Description: |
原因:filter名字重复
解决办法:在springboot文件加入
main:allow-bean-definition-overriding: true
1 | spring: |
JackSon序列化和反序列化
- 在实体类中要是不想一个属性被序列化,就在这个属性上方添加
@JsonIgnore
- 如果想让这个属性可以被反序列化但是不允许序列化就需要在
getter
和setter
上使用@JsonIgnore
和@JsonProperty
,具体代码如下
1 | /** |
获取配置文件
如果要想把配置文件放到jar包外面,使用System.getProperty(“user.dir”)的方式获取
如果想把配置文件打包到jar里面,使用
XXX.class.getClassLoader().getResourceAsStream(propertiesName)
的方式获取配置文件