《SpringCloud》笔记二:项目导入
所有课程的学习及相关资料都是源自b站黑马程序员
感谢黑马程序员给予我们新手的无私帮助,感谢!!!
黑马程序员-----yyds
开始之前一定要先在IDEA的插件商店里面下载lombok插件!!!!
文章目录
- 一、创建项目
- 二、导入依赖
- 三、数据库文件导入
- 四、spring配置信息
- 五、写入代码
- user-service的module
- order-service的module
- 六、测试运行
一、创建项目
打开IDEA
创建一个空的maven项目(电脑需要安装maven环境依赖)
创建完项目后,删除src文件夹
创建两个module文件,名字分别为order-service 和 user-service
对于user-service这个module,创建如下文件
对于order-service文件夹
那么到此文件就创建完成了。
二、导入依赖
对于根下的破灭。xml文件,填入如下的配置信息
<packaging>pom</packaging>
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.9.RELEASE</version><relativePath/>
</parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Hoxton.SR10</spring-cloud.version>
</properties><dependencyManagement><dependencies><!-- springCloud --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency></dependencies>
</dependencyManagement>
<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
</dependencies>
对于user-service和order-service的pom.xml,分别填入如下内容
user-service
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency></dependencies><build><finalName>app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
order-service
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
记得每次写入pom.xml文件后都需要进行maven的应用
三、数据库文件导入
进入可视化的数据库工具,创建一个mysql类型的数据,数据库名字就叫study_springcloud
然后运行如下两个SQL语句
/*Navicat Premium Data TransferSource Server : localSource Server Type : MySQLSource Server Version : 50622Source Host : localhost:3306Source Schema : heimaTarget Server Type : MySQLTarget Server Version : 50622File Encoding : 65001Date: 01/04/2021 14:57:18
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for tb_user
-- ----------------------------
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收件人',`address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 109 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES (1, '柳岩', '湖南省衡阳市');
INSERT INTO `tb_user` VALUES (2, '文二狗', '陕西省西安市');
INSERT INTO `tb_user` VALUES (3, '华沉鱼', '湖北省十堰市');
INSERT INTO `tb_user` VALUES (4, '张必沉', '天津市');
INSERT INTO `tb_user` VALUES (5, '郑爽爽', '辽宁省沈阳市大东区');
INSERT INTO `tb_user` VALUES (6, '范兵兵', '山东省青岛市');SET FOREIGN_KEY_CHECKS = 1;
另一个sql语句
/*Navicat Premium Data TransferSource Server : localSource Server Type : MySQLSource Server Version : 50622Source Host : localhost:3306Source Schema : heimaTarget Server Type : MySQLTarget Server Version : 50622File Encoding : 65001Date: 01/04/2021 14:57:18
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for tb_order
-- ----------------------------
DROP TABLE IF EXISTS `tb_order`;
CREATE TABLE `tb_order` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id',`user_id` bigint(20) NOT NULL COMMENT '用户id',`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称',`price` bigint(20) NOT NULL COMMENT '商品价格',`num` int(10) NULL DEFAULT 0 COMMENT '商品数量',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `username`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 109 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of tb_order
-- ----------------------------
INSERT INTO `tb_order` VALUES (101, 1, 'Apple 苹果 iPhone 12 ', 699900, 1);
INSERT INTO `tb_order` VALUES (102, 2, '雅迪 yadea 新国标电动车', 209900, 1);
INSERT INTO `tb_order` VALUES (103, 3, '骆驼(CAMEL)休闲运动鞋女', 43900, 1);
INSERT INTO `tb_order` VALUES (104, 4, '小米10 双模5G 骁龙865', 359900, 1);
INSERT INTO `tb_order` VALUES (105, 5, 'OPPO Reno3 Pro 双模5G 视频双防抖', 299900, 1);
INSERT INTO `tb_order` VALUES (106, 6, '美的(Midea) 新能效 冷静星II ', 544900, 1);
INSERT INTO `tb_order` VALUES (107, 2, '西昊/SIHOO 人体工学电脑椅子', 79900, 1);
INSERT INTO `tb_order` VALUES (108, 3, '梵班(FAMDBANN)休闲男鞋', 31900, 1);SET FOREIGN_KEY_CHECKS = 1;
四、spring配置信息
对于user-service的application.yml文件,填入如下信息
server:port: 8081
spring:datasource:url: jdbc:mysql://localhost:3306/study_springcloud?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=falseusername: 你的数据库用户名password: 你的数据库密码driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS
对于order-service的application.yml文件,填入如下信息
server:port: 8080
spring:datasource:url: jdbc:mysql://localhost:3306/study_springcloud?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=falseusername: 你的数据库用户名password: 你的数据库密码driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS
五、写入代码
user-service的module
UserMapper.java
package cn.itcast.user.mapper;import cn.itcast.user.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;public interface UserMapper {@Select("select * from tb_user where id = #{id}")User findById(@Param("id") Long id);
}
User.java
package cn.itcast.user.pojo;import lombok.Data;@Data
public class User {private Long id;private String username;private String address;
}
UserService.java
package cn.itcast.user.service;import cn.itcast.user.mapper.UserMapper;
import cn.itcast.user.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public User queryById(Long id) {return userMapper.findById(id);}
}
UserController.java
package cn.itcast.user.web;import cn.itcast.user.pojo.User;
import cn.itcast.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;/*** 路径: /user/110** @param id 用户id* @return 用户*/@GetMapping("/{id}")public User queryById(@PathVariable("id") Long id) {return userService.queryById(id);}
}
UserApplication.java
package cn.itcast.user;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.mybatis.spring.annotation.MapperScan;@MapperScan("cn.itcast.user.mapper")
@SpringBootApplication
public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}
}
order-service的module
OrderMapper.java
package cn.itcast.order.mapper;import cn.itcast.order.pojo.Order;
import org.apache.ibatis.annotations.Select;public interface OrderMapper {@Select("select * from tb_order where id = #{id}")Order findById(Long id);
}
Order.java
package cn.itcast.order.pojo;import lombok.Data;@Data
public class Order {private Long id;private Long price;private String name;private Integer num;private Long userId;private User user;
}
User.java
package cn.itcast.order.pojo;import lombok.Data;@Data
public class User {private Long id;private String username;private String address;
}
OrderService.java
package cn.itcast.order.service;import cn.itcast.order.mapper.OrderMapper;
import cn.itcast.order.pojo.Order;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);// 4.返回return order;}
}
OrderController.java
package cn.itcast.order.web;import cn.itcast.order.pojo.Order;
import cn.itcast.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("order")
public class OrderController {@Autowiredprivate OrderService orderService;@GetMapping("{orderId}")public Order queryOrderByUserId(@PathVariable("orderId") Long orderId) {// 根据id查询订单并返回return orderService.queryOrderById(orderId);}
}
OrderApplicaion.java
package cn.itcast.order;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}}
六、测试运行
启动两个module文件
新版本的IDEA可以通过service窗口查看(我的是2020.1)
一开始你的service可能没有管理springBoot项目,如下方式添加
然后在这里面找到springBoot即可
最终可以看到外面的两个springBoot项目
右键两者,点击run即可启动完成
至此,我们的项目部署告一段落
求三连——谢谢!
《SpringCloud》笔记二:项目导入相关推荐
- SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...
- IntelliJ Idea学习笔记003---【Intellij IDEA】eclipse项目导入
JAVA技术交流QQ群:170933152 注意可以这样弄: 菜单vcs-->CheckOut From Version Control 这样可以直接导入 intellij idea中文资料网上 ...
- SpringCloud笔记(二)使用DiscoveryClient手动实现客户端负载均衡
1.什么是客户端负载均衡(Ribbon)? Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,然后在本地实现轮训负载均衡策略.既在客户端实现负载均衡. 2.什么是服务端负 ...
- SSM米米商城项目笔笔记二(登录业务逻辑实现)
米米商城项目笔笔记二(登录业务逻辑实现) Service层业务逻辑实现 由于在笔记一中已经完成了底层的搭建,所以可以直接上手service层代码的编写 在service包下创建AdminService ...
- 企业级博客项目笔记(二)
企业级博客项目笔记(二) 一.数据持久化 1.JPA简介 JPA(Java Persistence API)是用于管理Java EE 和Java SE 环境中的持久化,以及对象/关系映射的Java A ...
- SpringCloud 2020笔记二
SpringCloud 2020笔记二 Spring Cloud 2020 笔记一 五.GateWay Spring生态系统之上建立的 API 网关服务 基于Spring FrameWork 5.Pr ...
- 谷粒商城基础篇爬坑笔记--项目导入intellij IDEA后pom.xml无法识别为maven文件和程序包import com.atguigu.common.XXX不存在两个问题解决方法
1项目导入intellij IDEA后pom.xml无法识别为maven文件. 情况如下图: intellij IDEA新手的常见问题(好吧我也是新手),解决方法: 完成后: 如果没有同步可以在控制台 ...
- SpringCloud 笔记
SpringCloud SpringCloud 笔记版本 微服务架构编码构建 IDEA 创建 Project 工作空间 微服务 Cloud 整体聚合父工程 Project New Project 聚合 ...
- 狂神SpringCloud笔记
SpringCloud笔记 这个阶段怎么学 三层架构+MVC框架:spring IOC AOP 一.微服务架构面临的四个核心问题? 服务很多,客户端应该如何访问? API网关 这么多服务?服务之间如何 ...
最新文章
- Matlab中的lsqcurvefit函数的使用
- Squid故障与解决方法汇总
- 阐述一下Mysql事务的四个特性_数据库事务的四个基本性质?
- IT十八掌作业_java基础第八天_多线程
- Spring Cloud构建微服务架构-服务网关
- 如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性
- c语言中return的作用_C语言简介
- 日志服务(Log service)4月控制台更新指南
- 信息收集——子域名收集
- Java获取姓名的首字母_java获取中文拼音首字母的实例
- 阿里云API调用 OCR python
- 什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?
- 138529-46-1,Biotin-PEG2-amine可在EDC或HATU存在下与NHS酯或羧酸反应试剂
- C++中read和write的区别
- DDD领域驱动设计笔记
- 运放自激震荡的大杂烩总结
- B站自定义视频播放速度
- 使用PHP生成PDF文档
- Markdown 语法学习
- Beyond Compare 4访问手机或媒体播放器上的文件
热门文章
- 基于深度学习的高精度袋鼠检测识别系统(PyTorch+Pyside6+YOLOv5模型)
- 融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法
- 如何选择最佳机器学习算法?
- 空转工具盘点 | 空间转录组细胞类型聚类方法综合比较
- sublime16进制转换_[转]sublime 使用技巧总结
- Educational Codeforces Round 110 (Rated for Div. 2) D. Playoff Tournament
- Geany配置C语言、Java、Python编译环境
- SQL2008连接excel2007
- 《扬帆优配》猪肉概念股拉升走高,新五丰一度涨停
- 基于python的opencv图像处理实现对斑马线的检测(最简单的方法!!!几十行代码搞定!!!)