总结一下springboot项目中遇到的一些小坑

版权声明:本文为博主原创文章,转载请注明出处,尊重原著! https://blog.csdn.net/weixin_38938840/article/details/85325625

1、spring boot扫描范围

在spring boot 的启动类可以通过@ComponentScan注解指定扫描范围,不加的话默认扫描启动类所在包及其子包,如依赖的第三方jar中有需要扫描的类,需在@ComponentScan中指定。或者放在最外层。

2、RestTemplate服务调用

使用RestTemplate进行微服务之间的调用,get方法拼接url参数时,如果有json格式的参数,会报错url不合法,无法直接用get方法传递json参数。如对特殊字符转义的话,会导致jackson解析json为object出错,该问题未解决,目前使用方式为不在get方法中传递json格式参数。

3、PUT请求接收不了参数

提交json参数数据或者在每次请求前加一个_method=put的隐藏域。

4、ajax跨域访问

编写CorsConfig配置类解决

5、spring boot服务依赖找不到依赖jar包中的类

解决方案:spring boot使用spring-boot-maven-plugin打出的jar包不能直接提供给第三方依赖,需修改配置单独打一个可依赖的jar包,如A依赖B,

在B中添加:

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <executions>
        <execution>
          <id>api-jar</id>
          <phase>package</phase>
          <goals>
            <goal>jar</goal>
          </goals>
          <configuration>
            <classifier>api</classifier>
          </configuration>
        </execution>
      </executions>
    </plugin>

在A中添加:

<dependency>
      <groupId>XXXX</groupId>
      <artifactId>XXXX</artifactId>
      <version>1.0-SNAPSHOT</version>
      <classifier>api</classifier>
    </dependency>

6、@Value 无法获取yml配置文件的值

@ConfigurationProperties注解实现,因为它能将一组属性统一管理。

猜你喜欢

转载自blog.csdn.net/weixin_38938840/article/details/85325625