在多模块 Spring Boot 项目中使用属性

我正在处理一个多模块 spring boot 项目,遇到了与 application.properties 文件中保存的属性有关的问题。从头开始:


目前我有两个模块:数据和网络。项目结构如下所示:


parent project


      |_ data


      |_ web

模块在父 pom 文件中正确命名


<modules>

    <module>data</module>

    <module>web</module>

</modules>

数据模块负责连接到数据库并定义用于数据访问的存储库。它在它的 application.properties 文件中有一些属性,用于保存到数据库的连接详细信息


spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE

spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

spring.datasource.username=XXXXXXXX

spring.datasource.password=XXXXXXXXX

在 web 模块中,我想从数据库中读取数据并将其放入 jsp。所以我在 web-module 的 pom 中添加了一个对 data-module 的依赖:


<dependency> 

    <groupId>de.my.fancy.groupId</groupId>

    <artifactId>data</artifactId> 

    <version>${project.version}</version>

</dependency>

启动网络模块时,我收到此错误:


***************************

APPLICATION FAILED TO START

***************************


Description:


Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.


Reason: Failed to determine a suitable driver class

我想我可能必须从数据模块中注入我的配置类,所以我像这样更改了 web 模块的起始类:


@SpringBootApplication(exclude= {SecurityAutoConfiguration.class}, scanBasePackageClasses= {JPAConfig.class})

public class WebApplication {


    @Autowired

    JPAConfig config;


    public static void main(String[] args) {

        SpringApplication.run(WebApplication.class, args);

    }

}

因此,似乎我无法从数据模块中的 application.properties 中获取要在 web 模块中注入的配置对象中使用的属性。我可以在这里做什么才能在 web 模块中使用属性?


神不在的星期二
浏览 115回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java