前言:SpringBoot的前世今生:
SpringBoot由Pivotal小组开发和开源,Boot译为引导,SpringBoot的核心还是Spring,其意义是简化框架搭建(SpringBoot集成了大量开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等),使码者废弃繁琐的模板化配置(比如:SSH和SSM架构候配置web.xml、加载spring和spring mvc、配置DataSource连接、配置spring事物,配置日志),更专注于业务和应用开发。
一: 项目结构
模块 | 说明 |
---|---|
sb-api | entity、dto、vo、enum、constants存储层 |
sb-orm | 数据模型映射持久化层-父级 |
sb-orm-test | 数据模型映射持久化层-业务粒度 |
sb-service | 微服务层-父级 |
sb-service-test | 微服务层-业务粒度 |
sb-support | 基础工具及组件层 |
sb-web | web层 |
二: 搭建及重要文件说明
文件名 | 模块 | 说明 |
---|---|---|
pom.xml | sb-service-test | 微服务提供者maven包依赖配置 |
TestServerApplication.java | sb-service-test | 微服务启动类 |
TestServiceImpl.java | sb-service-test | 微服务接口实现类及关键注解 |
application.properties | sb-service-test | 微服务核心文件,配置数据库+redis+线程池+MQ资源+指定日志文件及级别等等,可根据环境区分 |
pom.xm | sb-web | 服务消费者maven包依赖配置 |
StartWebApplication.java | sb-web | web服务启动类 |
TestController.java | sb-web | web服务及关键注解 |
application.yml | sb-web | web服务核心文件,配置系统+端口+服务注册地址,可根据环境区分,yml和properties文件SpringBoot都支持,只是yml是树形结构格式 |
<1>:微服务pom.xml文件(说明:已深度精简依赖)
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${
dubbo-spring-boot}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${
mybatis.spring.boot.starter.version}</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
<d