系列文章目录
聚合继承项目
一.打开nacos微服务注册中心
找到nacos的bin目录下以单机模式打开
![]()
一.父项目管理依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.woniuxy</groupId>
<artifactId>happy-life</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<!--需要添加的子模块-->
<module>common-entity</module>
<module>activity-release</module>
<module>activity-data-store</module>
<module>mall-goods</module>
</modules>
<!--版本号管理-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<mysql.version>5.1.35</mysql.version>
<mybatis.spring.boot.verison>2.1.0</mybatis.spring.boot.verison>
<druid.spring.boot.starter.version>1.1.10</druid.spring.boot.starter.version>
<spring.boot.version>2.3.12.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR12</spring.cloud.version>
</properties>
<!--项目管理-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</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-spring-boot-starter</artifactId>
<version>${druid.spring.boot.starter.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.verison}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
二.子项目导入依赖
代码如下(示例):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>happy-life</artifactId>
<groupId>com.woniuxy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>mall-goods</artifactId>
<dependencies>
<dependency>
<groupId>com.woniuxy</groupId>
<artifactId>common-entity</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--spring整合web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--spring整合test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!--mybatis整合到spring-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!--mysql连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--数据库连接池durid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!--naco客户端依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
三.配置文件
application.yml如下:
server:
port: 1818
spring:
application:
name: mall-goods
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/happylife
username: root
password: 123
#配置到nacos注册中心
cloud:
nacos:
server-addr: http://localhost:8848
mybatis:
#这里是配置mapper文件的位置,能够从主配置获取到mapper下的映射文件位置,再通过set方法映射到MapperLocations属性上
mapper-locations: classpath:/mapper/*.xml
#配置别名,可以在resultType中简写
type-aliases-package: com.woniuxy.happylife.entity
四.启动类
@EnableDiscoveryClient
//扫描dao层下面的,生成接口对应的实现类
@MapperScan("com.woniuxy.happylife.dao")
@SpringBootApplication
public class MallGodsApplication {
public static void main(String[] args) {
SpringApplication.run(MallGodsApplication.class,args);
}
}
五.三层架构
1.controller
@RestController
@RequestMapping("/goods")
public class GoodsController {
@Autowired
GoodsService goodsService;
@GetMapping("/")
public ResponseEntity<List<MallGoods>> getAll(){
return new ResponseEntity<List<MallGoods>>(200,"查到所有商品数据", goodsService.findAll());
}
}
2.service
public interface GoodsService {
List<MallGoods> findAll();
}
//注册到容器中
@Service
public class GoodsServiceImpl implements GoodsService {
@Autowired
GoodsDao goodsDao;
@Override
public List<MallGoods> findAll() {
return goodsDao.findAll();
}
}
3.dao
public interface GoodsDao {
List<MallGoods> findAll();
}
生成的代理类文件如下
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.woniuxy.happylife.dao.GoodsDao">
<select id="findAll" resultType="com.woniuxy.happylife.entity.MallGoods">
select * from mall_goods
</select>
</mapper>
六.后端测试
可以用postman|postwoman测试,这里使用了http测试
http-client.env.json文件如下:
{
"dev": {
"host": "localhost",
"port": "1818",
"project": "",
"name": "value"
}
}
goods.http文件如下:
GET http://{{host}}:{{port}}{{project}}/goods/
版权声明:本文为weixin_47729434原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。