所有课程的学习及相关资料都是源自b站黑马程序员
感谢黑马程序员给予我们新手的无私帮助,感谢!!!
黑马程序员-----yyds

开始之前一定要先在IDEA的插件商店里面下载lombok插件!!!!

文章目录

  • 一、创建项目
  • 二、导入依赖
  • 三、数据库文件导入
  • 四、spring配置信息
  • 五、写入代码
    • user-service的module
    • order-service的module
  • 六、测试运行

一、创建项目

打开IDEA
创建一个空的maven项目(电脑需要安装maven环境依赖)
创建完项目后,删除src文件夹
创建两个module文件,名字分别为order-serviceuser-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》笔记二:项目导入相关推荐

  1. SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...

  2. IntelliJ Idea学习笔记003---【Intellij IDEA】eclipse项目导入

    JAVA技术交流QQ群:170933152 注意可以这样弄: 菜单vcs-->CheckOut From Version Control 这样可以直接导入 intellij idea中文资料网上 ...

  3. SpringCloud笔记(二)使用DiscoveryClient手动实现客户端负载均衡

    1.什么是客户端负载均衡(Ribbon)? Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,然后在本地实现轮训负载均衡策略.既在客户端实现负载均衡. 2.什么是服务端负 ...

  4. SSM米米商城项目笔笔记二(登录业务逻辑实现)

    米米商城项目笔笔记二(登录业务逻辑实现) Service层业务逻辑实现 由于在笔记一中已经完成了底层的搭建,所以可以直接上手service层代码的编写 在service包下创建AdminService ...

  5. 企业级博客项目笔记(二)

    企业级博客项目笔记(二) 一.数据持久化 1.JPA简介 JPA(Java Persistence API)是用于管理Java EE 和Java SE 环境中的持久化,以及对象/关系映射的Java A ...

  6. SpringCloud 2020笔记二

    SpringCloud 2020笔记二 Spring Cloud 2020 笔记一 五.GateWay Spring生态系统之上建立的 API 网关服务 基于Spring FrameWork 5.Pr ...

  7. 谷粒商城基础篇爬坑笔记--项目导入intellij IDEA后pom.xml无法识别为maven文件和程序包import com.atguigu.common.XXX不存在两个问题解决方法

    1项目导入intellij IDEA后pom.xml无法识别为maven文件. 情况如下图: intellij IDEA新手的常见问题(好吧我也是新手),解决方法: 完成后: 如果没有同步可以在控制台 ...

  8. SpringCloud 笔记

    SpringCloud SpringCloud 笔记版本 微服务架构编码构建 IDEA 创建 Project 工作空间 微服务 Cloud 整体聚合父工程 Project New Project 聚合 ...

  9. 狂神SpringCloud笔记

    SpringCloud笔记 这个阶段怎么学 三层架构+MVC框架:spring IOC AOP 一.微服务架构面临的四个核心问题? 服务很多,客户端应该如何访问? API网关 这么多服务?服务之间如何 ...

最新文章

  1. Matlab中的lsqcurvefit函数的使用
  2. Squid故障与解决方法汇总
  3. 阐述一下Mysql事务的四个特性_数据库事务的四个基本性质?
  4. IT十八掌作业_java基础第八天_多线程
  5. Spring Cloud构建微服务架构-服务网关
  6. 如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性
  7. c语言中return的作用_C语言简介
  8. 日志服务(Log service)4月控制台更新指南
  9. 信息收集——子域名收集
  10. Java获取姓名的首字母_java获取中文拼音首字母的实例
  11. 阿里云API调用 OCR python
  12. 什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?
  13. 138529-46-1,Biotin-PEG2-amine可在EDC或HATU存在下与NHS酯或羧酸反应试剂
  14. C++中read和write的区别
  15. DDD领域驱动设计笔记
  16. 运放自激震荡的大杂烩总结
  17. B站自定义视频播放速度
  18. 使用PHP生成PDF文档
  19. Markdown 语法学习
  20. Beyond Compare 4访问手机或媒体播放器上的文件

热门文章

  1. 基于深度学习的高精度袋鼠检测识别系统(PyTorch+Pyside6+YOLOv5模型)
  2. 融合动态反向学习的阿奎拉鹰与哈里斯鹰混合优化算法
  3. 如何选择最佳机器学习算法?
  4. 空转工具盘点 | 空间转录组细胞类型聚类方法综合比较
  5. sublime16进制转换_[转]sublime 使用技巧总结
  6. Educational Codeforces Round 110 (Rated for Div. 2) D. Playoff Tournament
  7. Geany配置C语言、Java、Python编译环境
  8. SQL2008连接excel2007
  9. 《扬帆优配》猪肉概念股拉升走高,新五丰一度涨停
  10. 基于python的opencv图像处理实现对斑马线的检测(最简单的方法!!!几十行代码搞定!!!)