系统整理springCloud (一),搭建父项目,管理jar包及介绍各个starter应用时引入即可

    技术2022-07-11  130

    一,应用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>  

     

     

    Processed: 0.015, SQL: 9