公司一个比较原始的项目是springmvc的框架,现在需要上springcloud所以就打算转成springboot的项目,由于之前也是不太了解springboot,所以记录一下项目框架转变的过程和遇到的一些坑。
原项目是SSM的和JSP,maven管理包的方式。项目分父工程parent,公共工程common,前台工程platform,和自定义前台xxx。
自定义前台xxx是依赖于platform的都属于war工程。
1、先用idea快速创建一个springboot项目
选择pom
勾选版本和依赖web启动器
这样就可以简单的创建一个springboot的父类工程了。
2、需要把原有的mvc的jar都复制到该父类中。
原先在mvc中引入的spring全部的jar可以直接换成以下(我排除掉logging是因为后面使用log4j)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
mybatis、连接池与mysql数据库连接等相关jar替换成以下
说明:引入mybatis-plus可以用dao层继承BaseMapper这样可以省去单表的CRUD操作的mapper,我这里引入只是为了使用mybatis-plus的yam相关配置,后面会说。排除掉generate是因为我没有使用Templates导致spring加载时会报找不到该文件的异常。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatisplus.version}</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generate</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>${mybatisplus.spring.boot.version}</version>
</dependency>
log4j的jar只需要引以下jar。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
其他的相关jar就看公司个人需要去配置就可以了。
如果jar包有冲突的话可以在idea中maven的视图中去排除红线的就是冲突,如果冲突不影响的话可以忽略。
最后再配置一个阿里云的仓库
<!-- 阿里云maven仓库 -->
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
到这里基本的parent就搭建完成了。后续下篇继续。