springboot无法完成变量从pom到.properties文件自动替换的问题

我在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在application.properties文件中通过以下配置指定不同环境下的配置文件,

spring.profiles.active = ${profiles.active}

但是${profiles.active}无法从pom文件中获取变量值替换。这个问题困扰了很久,终于在原博主的文章中发现了问题的根源。

引用原博主的一句话:

由于${}方式会被maven处理。如果你pom继承了spring-boot-starter-parent,Spring 
Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,如@name@

如果还想继续使用${}占位符方式,只需要在pom文件中加上下面配置即可:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>utf-8</encoding>
                    <useDefaultDelimiters>true</useDefaultDelimiters>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

要在Spring Boot项目中整合MyBatis,可以按照以下步骤进行操作: 1. 在pom.xml文件中添加MyBatis和MyBatis-Spring的依赖: ``` <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- MyBatis-Spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> </dependencies> ``` 其中,`${mybatis.version}`和`${mybatis.spring.version}`是定义在项目中的版本号变量。 2. 在Spring Boot的配置文件application.properties中配置MyBatis的相关属性: ``` # 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=root # MyBatis配置信息 mybatis.type-aliases-package=com.example.demo.entity mybatis.mapper-locations=classpath:mapper/*.xml ``` 其中,`spring.datasource`是数据库连接信息,`mybatis.type-aliases-package`指定实体类的包名,`mybatis.mapper-locations`指定MyBatis Mapper文件的位置。 3. 创建MyBatis的Mapper接口和XML文件。 在Mapper接口中定义SQL语句,如: ``` public interface UserMapper { List<User> selectAllUsers(); } ``` 在XML文件中编写SQL语句,并与Mapper接口对应,如: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <select id="selectAllUsers" resultType="com.example.demo.entity.User"> SELECT * FROM users </select> </mapper> ``` 4. 在Spring Boot的Application类中添加`@MapperScan`注解,指定Mapper接口的扫描路径: ``` @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 其中,`@MapperScan`注解指定了Mapper接口的扫描路径,可以将其替换为对应的XML文件路径。 这样就完成了Spring Boot整合MyBatis的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值