项目准备
我们把需要的第三方包和需要生成的库引入到对应的**基础包**中
对应版本号
<properties>
<java.version>1.8</java.version>
<httpclient.version>4.5</httpclient.version>
<httpcore.version>4.4.12</httpcore.version>
<gson.version>2.8.5</gson.version>
<guava.version>16.0.1</guava.version>
<mybatis-plus.version>3.5.0</mybatis-plus.version>
<mysql.version>8.0.16</mysql.version>
<druid.version>1.1.20</druid.version>
<mybatis-plus.version>3.5.0</mybatis-plus.version>
<redission.version>3.14.1</redission.version>
<fastjson.version>1.2.78</fastjson.version>
</properties>
对应第三方包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--aop-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${httpcore.version}</version>
</dependency>
<!-- gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</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-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!--代码生成-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--逆向工程需要模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
把我们的代码反向生成引入一下
mybatis-plus快速逆向生成代码
修改成对应的路径可以了。
注意看我的配置信息。写的是server,而不是base额。
代码生成
生成后的代码如下:
服务层 引入包
这里我习惯使用lombok,所以我把生成的set、get方法、tostring方法去掉了。 使用了
@Setter、@Getter、@ToString注解。大家根据自己的使用习惯来选择。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
添加对应的注解和配置
注解
添加上我们的对应的mapperScan注解 。
主要作用:让我们的mapper层注入到spirng容器中。也可以在mapper层中加入@mapper注解,
我觉得那样比较麻烦点,每一个都需要添加。
另外因为我们有基础包
所以我们需要把@SpringBootApplication 添加一个属性 (scanBasePackages = {“com.secusoft”})
也就是@SpringBootApplication(scanBasePackages = {“com.secusoft”}) ,否则基础包中的注入没办法成功注入。
配置
添加好对应的配置信息。
spring.application.name=server
logging.file.path=./logs/
logging.file.name=view_server.log
mybatis-plus.configuration.cache-enabled=true
mybatis-plus.configuration.map-underscore-to-camel-case=true
mybatis-plus.configuration.multiple-result-sets-enabled=true
mybatis-plus.global-config.db-column-underline=false
mybatis-plus.global-config.id-type=0
mybatis-plus.global-config.refresh-mapper=true
mybatis-plus.mapper-locations=classpath*:/mapper/*.xml
mybatis-plus.type-aliases-package=com.secusoft.server.entity
server.port=8801
spring.datasource.druid.initial-size=50
spring.datasource.druid.max-active=200
spring.datasource.druid.min-idle=50
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.dynamic.datasource.al_pg.druid.initial-size=50
spring.datasource.dynamic.datasource.al_pg.druid.max-active=100
spring.datasource.dynamic.datasource.al_pg.druid.min-idle=50
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=false
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/view_library?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQuerr
ies=true
spring.datasource.username=root
spring.datasource.password=123456
稍微熟悉点的人就会觉得,这不就是用java写的一个spring boot的服务嘛,这个大家都会。
没错,视图库的服务端本身就是一个http服务。只是在这个http服务上添加了一些新的定义而已,我们继续往下看。