作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服
SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程

Custom Tab



创建根工程

创建一个maven 工程,其pom文件为:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.forezp</groupId>
    <artifactId>springboot-multi-module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>springboot-multi-module</name>
    <description>Demo project for Spring Boot</description></project>


需要注意的是packaging标签为pom 属性。

创建libary工程

libary工程为maven工程,其pom文件的packaging标签为jar 属性。创建一个service组件,它读取配置文件的 service.message属性。

@ConfigurationProperties("service")public class ServiceProperties {

    /**
     * A message for the service.
     */
    private String message;    
    public String getMessage() {        
    return message;
    }    
    public void setMessage(String message) {        
    this.message = message;
    }
}


提供一个对外暴露的方法:

@Configuration@EnableConfigurationProperties(ServiceProperties.class)public class ServiceConfiguration {
    @Bean
    public Service service(ServiceProperties properties) {        
    return new Service(properties.getMessage());
    }
}


创建一个springbot工程

引入相应的依赖,创建一个web服务:

@SpringBootApplication@Import(ServiceConfiguration.class)@RestControllerpublic class DemoApplication {

    private final Service service;    @Autowired
    public DemoApplication(Service service) {        
    this.service = service;
    }    @GetMapping("/")    
    public String home() {        
    return service.message();
    }    
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}


在配置文件application.properties中加入:

service.message=Hello World


打开浏览器访问:http://localhost:8080/;浏览器显示:

Hello World

说明确实引用了libary中的方法。

参考资料

https://spring.io/guides/gs/multi-module/

源码下载

https://github.com/forezp/SpringBootLearning

SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

SpringBoot非官方教程 | 第五篇:springboot整合 beatlsql

SpringBoot非官方教程 | 第六篇:springboot整合mybatis

SpringBoot非官方教程 | 第七篇:springboot开启声明式事务

SpringBoot非官方教程 | 第八篇:springboot整合mongodb

SpringBoot非官方教程 | 第九篇: springboot整合Redis

SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档

SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API

SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

SpringBoot非官方教程 | 第十三篇:springboot集成spring cache

SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列

SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ

SpringBoot非官方教程 | 第十六篇:用restTemplate消费服务

SpringBoot非官方教程 | 第十七篇:上传文件

SpringBoot非官方教程 | 第十八篇: 定时任务(Scheduling Tasks)

SpringBoot非官方教程 | 第十九篇: 验证表单信息

SpringBoot非官方教程 | 第二十篇: 处理表单提交

SpringBoot非官方教程 | 第二十一篇: springboot集成JMS


SpringBoot非官方教程 | 第二十三篇: 异步方法

SpringBoot非官方教程 | 第二十四篇: springboot整合docker

SpringBoot非官方教程 | 第二十五篇:2小时学会springboot

SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台


优秀文章推荐:




转载自:http://blog.csdn.net/forezp/article/details/71024153

Home