springboot 3.2.4 Ensure that the compiler uses the ‘-parameters’

LocalVariableTableParameterNameDiscoverer已在 6.1 中删除。因此,Spring 框架和 Spring 组合框架中的代码不再尝试通过解析字节码来推断参数名称。如果您遇到依赖项注入、属性绑定、SpEL 表达式或其他依赖于参数名称的用例的问题,则应使用通用 Java 8+ 标志-parameters来保留参数名称来编译 Java 源代码(而不是依赖于-debug编译器)标志)以便与StandardReflectionParameterNameDiscoverer. Groovy 编译器还支持-parameters用于相同目的的标志。对于 Kotlin 编译器,请使用该-java-parameters标志。

Maven用户需要maven-compiler-plugin为Java源代码配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <parameters>true</parameters>
    </configuration>
</plugin>

Gradle 用户需要JavaCompile使用 Kotlin DSL 配置 Java 源代码的任务:

tasks.withType<JavaCompile>() {
    options.compilerArgs.add("-parameters")
}

或者 Groovy DSL:

tasks.withType(JavaCompile).configureEach {
    options.compilerArgs.add("-parameters")
}

同样,Gradle 用户需要GroovyCompile使用 Kotlin DSL 为 Groovy 源代码配置任务:

tasks.withType<GroovyCompile>() {
    groovyOptions.parameters = true
}

或者 Groovy DSL:

tasks.withType(GroovyCompile).configureEach {
    groovyOptions.parameters = true
}

有时还需要手动配置您的 IDE。

在 IntelliJ IDEA 中,打开Settings并添加-parameters到以下字段。

  • 构建、执行、部署→编译器→Java编译器→附加命令行参数

在 Eclipse IDE 中,打开Preferences并激活以下复选框。

  • Java → 编译器 → 存储有关方法参数的信息(可通过反射使用)
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在使用Spring Boot 3.2.4版本集成Batis 2.1.3时,出现"Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required"错误的原因是没有正确配置MyBatis的相关属性。 解决这个问题的方法是在Spring Boot的配置文件中添加正确的MyBatis配置。具体步骤如下: 1. 确保已经在pom.xml文件中添加了MyBatis和MyBatis-Spring的依赖。 2. 在Spring Boot的配置文件(通常是application.properties或application.yml)中添加以下配置: - 如果使用sqlSessionFactory: ```properties mybatis.config-location=classpath:mybatis-config.xml mybatis.mapper-locations=classpath:mapper/*.xml ``` - 如果使用sqlSessionTemplate: ```properties mybatis.mapper-locations=classpath:mapper/*.xml ``` 这些配置指定了MyBatis的配置文件位置和Mapper文件的位置。 3. 创建一个MyBatis的配置文件(mybatis-config.xml),并在其中配置sqlSessionFactory或sqlSessionTemplate。示例配置如下: - 使用sqlSessionFactory: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <!-- 配置实体类别名 --> <package name="com.example.entity"/> </typeAliases> <mappers> <!-- 配置Mapper接口 --> <mapper resource="mapper/ExampleMapper.xml"/> </mappers> </configuration> ``` - 使用sqlSessionTemplate: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <!-- 配置实体类别名 --> <package name="com.example.entity"/> </typeAliases> </configuration> ``` 这些配置文件中的内容根据你的具体项目需求进行修改。 4. 确保Mapper接口和对应的Mapper XML文件已经正确创建,并且位于指定的位置。 完成以上步骤后,重新运行项目,应该就能够解决"Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required"错误。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值