一,应用springCloud 有一段时间了,Boot由1到2,springCloud 也到了H版本,alibaba 也已孵化维护自己版本,在这里对springCloud做一个系统的整理,版本为boot2版本。
首先建立父工程cloud-parent
加入jar包
<!-- 统一管理jar包版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <log4j.version>1.2.17</log4j.version> <lombok.version>1.16.18</lombok.version> <mysql.version>5.1.47</mysql.version> <druid.version>1.1.16</druid.version> <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version> </properties> <!-- 子模块继承之后,提供作用:锁定版本+子module不用写groupId和version --> <dependencyManagement> <dependencies> <!--spring boot 2.2.2--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud Hoxton.SR1--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <!--spring cloud alibaba 2.1.0.RELEASE--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.spring.boot.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <optional>true</optional> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <addResources>true</addResources> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- maven compiler plugin版本必须正确否则下面设置的JDK版本不起作用 --> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>在此介绍一下,springBoot的自带常用的的stater及其作用
Spring Boot 之Spring Boot Starter依赖包及作用
spring-boot-starter这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。
日志常用的有lomback log4j2 默认为lomback 若用log4j2需排除lomback jar
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>
2.spring-boot-starter-amqp
rabbitMQ 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。
3.spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。切面编程时引入
4.spring-boot-starter-artemis 通过Apache Artemis支持JMS的API(Java Message Service API. 。
5.spring-boot-starter-batch 支持Spring Batch,包括HSQLDB数据库。
6.spring-boot-starter-cache 支持Spring的Cache抽象。
7.spring-boot-starter-cloud-connectors 支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。
8.spring-boot-starter-data-elasticsearch 支持ElasticSearch搜索和分析引擎,包括spring-data-elasticsearch。
9.spring-boot-starter-data-gemfire 支持GemFire分布式数据存储,包括spring-data-gemfire。
10.spring-boot-starter-data-jpa 支持JPA(Java Persistence API. ,包括spring-data-jpa、spring-orm、Hibernate。
@Id @GeneratedValue private Long id;
11.spring-boot-starter-data-mongodb 支持MongoDB数据,包括spring-data-mongodb。
12.spring-boot-starter-data-rest 通过spring-data-rest-webmvc,支持通过REST暴露Spring Data数据仓库。
13.spring-boot-starter-data-solr 支持Apache Solr搜索平台,包括spring-data-solr。
14.spring-boot-starter-freemarker 支持FreeMarker模板引擎。
15.spring-boot-starter-groovy-templates 支持Groovy模板引擎。
16.spring-boot-starter-hateoas 通过spring-hateoas支持基于HATEOAS的RESTful Web服务。
17.spring-boot-starter-hornetq 通过HornetQ支持JMS。
18.spring-boot-starter-integration 支持通用的spring-integration模块。
19.spring-boot-starter-jdbc 支持JDBC数据库。
20.spring-boot-starter-jersey 支持Jersey RESTful Web服务框架。
21.spring-boot-starter-jta-atomikos 通过Atomikos支持JTA分布式事务处理。
22.spring-boot-starter-jta-bitronix 通过Bitronix支持JTA分布式事务处理。
23.spring-boot-starter-mail 支持javax.mail模块。
24.spring-boot-starter-mobile 支持spring-mobile。
25.spring-boot-starter-mustache 支持Mustache模板引擎。
26.spring-boot-starter-redis 支持Redis键值存储数据库,包括spring-redis。
27.spring-boot-starter-security 支持spring-security。
28.spring-boot-starter-social-facebook 支持spring-social-facebook
29.spring-boot-starter-social-linkedin 支持pring-social-linkedin
30.spring-boot-starter-social-twitter 支持pring-social-twitter
31.spring-boot-starter-test 支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。
32.spring-boot-starter-thymeleaf 支持Thymeleaf模板引擎,包括与Spring的集成。
33.spring-boot-starter-velocity 支持Velocity模板引擎。
34.spring-boot-starter-web S支持全栈式Web开发,包括Tomcat和spring-webmvc。
35.spring-boot-starter-websocket 支持WebSocket开发。
36.spring-boot-starter-ws 支持Spring Web Services。
37.spring-boot-starter-actuator 增加了面向产品上线相关的功能,比如测量和监控。
38.spring-boot-starter-remote-shell 增加了远程ssh shell的支持。 最后,Spring Boot应用启动器还有一些替换技术的启动器,具体如下:
39.spring-boot-starter-jetty 引入了Jetty HTTP引擎(用于替换Tomcat. 。
40.spring-boot-starter-log4j 支持Log4J日志框架。
41.spring-boot-starter-logging 引入了Spring Boot默认的日志框架Logback。
42.spring-boot-starter-tomcat 引入了Spring Boot默认的HTTP引擎Tomcat。
43.spring-boot-starter-undertow 引入了Undertow HTTP引擎(用于替换Tomcat. 。
JDK版本修改为1.8
<build> <finalName></finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
jsp相关
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>