创建springboot单服务,(无eureka) - 还没弄完

一、创建项目

序号项目图片备注
1在这里插入图片描述Spring Initializr -> Nxet
2在这里插入图片描述java version 该demo选择8 -> Next
3在这里插入图片描述单项目只选择Spring Cloud - > Cloud Bootstrap -> Next
4在这里插入图片描述Finish
5在这里插入图片描述使用New Window
6在这里插入图片描述页面创建成功
7在这里插入图片描述目录结构,有些文件被隐藏,可以在idea基本设置中对idea进行设置

二、代码编写

序号项目图片备注
1在这里插入图片描述创建controller,注:SpringBoot常用结构包括controller、dao、services、entity
2在这里插入图片描述pom引入依赖,具体代码位于备注 - 引入依赖 - 1、spring-boot-starter-web
3在这里插入图片描述具体代码位于备注 - 具体代码 - 1、TestController 中
4在这里插入图片描述点击绿色三角标运行
5在这里插入图片描述spring项目停止加载,即可在浏览器上运行,地址规则:1、单体项目默认端口为8080;2、运行地址根据步骤3,组成为 - http://localhost(或者127.0.0.1):8080/test(请求路径)/testM(请求路径2)。所以,在该项目中请求地址可以写为:(http://localhost:8080/test/testM)或者(http://127.0.0.1:8080/test/testM)。运行结果如图
6在这里插入图片描述System.out.println()为Java后台打印换行指令,因此上述运行后台打印内容如图

三、Spring boot整合 Swagger

整合Swagger

项目添加数据库

可以使用PowerDesigner创建数据库,教程如下:
链接: 使用PowerDesigner创建数据库.

直接用Navicat for Mysql创建数据库:

链接: Navicat for Mysql创建数据库.
链接: PowerDesigner创建数据库.

本单机项目以学生管理系统为例

  • 学生表(student)
    • ID int 主键 自增
    • STU_NAME varchar
    • STU_AGE int
    • STU_SEX int
    • STU_CLASS int
  • 老师(teacher)
    • ID int 主键 自增
    • TEA_NAME varchar
    • TEA_AGE int
    • TEA_CLASS int
  • 班级(sch_class)
    • ID int 主键 自增
    • CLA_NAME varchar

SQL语句如下:

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50553
Source Host           : localhost:3306
Source Database       : school

Target Server Type    : MYSQL
Target Server Version : 50553
File Encoding         : 65001

Date: 2021-03-05 14:41:17
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `sch_class`
-- ----------------------------
DROP TABLE IF EXISTS `sch_class`;
CREATE TABLE `sch_class` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `CLA_NAME` varchar(20) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of sch_class
-- ----------------------------

-- ----------------------------
-- Table structure for `student`
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `ID` int(11) NOT NULL,
  `STU_NAME` varchar(20) NOT NULL,
  `STU_AGE` int(11) NOT NULL,
  `STU_SEX` char(1) NOT NULL,
  `STU_CLASS` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of student
-- ----------------------------

-- ----------------------------
-- Table structure for `teacher`
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `TEA_NAME` varchar(20) NOT NULL,
  `TEA_AGE` int(11) NOT NULL,
  `TEA_CLASS` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of teacher
-- ----------------------------

创建mybatis文件

使用mybatis-generator生成
dao.mapper
entity.实体类
mapper.xml
链接: mybatis-generator资源解说.
链接: mybatis-generator(通过代码生成mybatis的xml文件).

备注

引入依赖

1、spring-boot-starter-web

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

具体代码

1、TestController

package com.yss.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author yss
 * @createTime 2021-03-04 14:41
 * @description 测试控制类
 */
@Controller
@RequestMapping("/test")
public class TestController {

    @RequestMapping("/testM")
    @ResponseBody
    public String testM(){
        System.out.println("测试类成功运行");
        return "我是天下第一";
    }
}

基本设置

序号项目图片备注
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<think>嗯,我现在要在Spring Boot项目中部署Nacos,首先我需要弄清楚Nacos到底是什么。好像Nacos是阿里巴巴开源的一个服务发现和配置管理平台,对吧?那它应该和Eureka或者Consul类似,用于服务注册与发现,同时还能管理配置信息。好的,接下来我需要知道在Spring Boot中如何集成Nacos。 首先,可能需要在项目的pom.xml文件中添加Nacos的依赖。我记得Spring Cloud Alibaba项目提供了Nacos的支持,所以可能需要引入相应的starter依赖。比如,对于服务发现,可能需要spring-cloud-starter-alibaba-nacos-discovery,而对于配置管理,可能需要spring-cloud-starter-alibaba-nacos-config。不过具体应该怎么添加呢?版本号应该选哪个?会不会有版本兼容性问题?比如Spring Boot的版本和Spring Cloud Alibaba的版本需要对应,否则可能会有冲突。这时候可能需要查一下Spring Cloud Alibaba的官方文档,看看推荐的版本搭配。 然后,配置Nacos服务器的地址。在application.properties或者application.yml文件中,需要设置Nacos服务器的地址。比如,nacos.discovery.server-addr=127.0.0.1:8848。但这里可能需要注意,如果Nacos服务有运行在本地8848端口,那地址需要相应修改。另外,如果是集群部署的话,可能需要配置多个地址,或者使用域名。 接下来,启用Nacos的功能。在启动类上添加@EnableDiscoveryClient注解,这样服务启动时会自动注册到Nacos。如果是配置管理,可能需要在bootstrap.properties中配置,因为配置信息需要在应用启动早期加载。这时候需要创建bootstrap文件,并设置spring.application.name,以及nacos.config.server-addr等属性。 不过,我可能还需要下载并启动Nacos服务器。Nacos的安装包可以从官网或者GitHub下载,解压后运行startup命令。如果是Linux/Mac的话,使用sh startup.sh -m standalone来机模式启动,Windows则是cmd startup.cmd。启动之后,访问localhost:8848/nacos,默认用户名和密码都是nacos。然后在控制台里可以查看注册的服务和配置信息。 测试的时候,可能需要创建一个简Spring Boot应用,添加依赖,配置好Nacos地址,然后启动应用,看看是否能在Nacos控制台的服务列表中找到该应用。如果成功注册,说明服务发现部分配置正确。对于配置管理,可能需要在Nacos控制台创建一个配置文件,dataId通常是应用名加上环境,比如spring.application.name-dev.yml,然后在应用中通过@Value注解注入配置属性,看是否能正确获取。 另外,可能遇到的一些问题:比如依赖版本不兼容导致启动失败,这时候需要调整版本号;Nacos服务启动或者地址配置错误,导致连接不上;配置文件的dataId命名不符合规则,导致无法读取配置;或者在bootstrap.properties中有正确配置导致配置中心无法启用。 还有,如果是多环境配置,可能需要配置不同的namespace或者group,这时候在配置文件中指定对应的namespace的ID或者group名称。此外,Nacos的动态配置刷新功能,可以通过@RefreshScope注解实现,修改配置后无需重启应用。 总结一下步骤:添加依赖、配置Nacos地址、启用相关注解、启动Nacos服务器、验证注册和配置管理。需要注意版本匹配和配置文件的正确性,遇到问题查看日志,逐步排查。</think>在Spring Boot项目中集成Nacos主要分为服务注册与发现、配置管理两大功能。以下是详细的步骤指南: --- ### **1. 部署Nacos服务器** - **下载与启动**: - 从[Nacos GitHub Release](https://github.com/alibaba/nacos/releases)下载压缩包。 - 解压后进入`bin`目录: - **Linux/Mac**:执行 `sh startup.sh -m standalone`(机模式)。 - **Windows**:双击 `startup.cmd` 或命令行执行。 - 访问控制台:`http://localhost:8848/nacos`,默认账号/密码:`nacos/nacos`。 --- ### **2. Spring Boot集成Nacos服务注册与发现** #### **步骤1:添加依赖** 在`pom.xml`中添加Spring Cloud Alibaba依赖(注意版本匹配): ```xml <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2022.0.0.0</version> <!-- 根据Spring Boot版本选择 --> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> </dependencies> ``` #### **步骤2:配置Nacos地址** 在`application.yml`中配置: ```yaml spring: application: name: your-service-name # 服务名称 cloud: nacos: discovery: server-addr: 127.0.0.1:8848 # Nacos服务器地址 ``` #### **步骤3:启用服务注册** 在启动类添加注解: ```java @SpringBootApplication @EnableDiscoveryClient // 启用服务注册与发现 public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } } ``` #### **步骤4:验证** 启动应用后,在Nacos控制台**服务管理 -> 服务列表**中查看是否注册成功。 --- ### **3. Spring Boot集成Nacos配置中心** #### **步骤1:添加依赖** ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` #### **步骤2:创建bootstrap.yml** 在`src/main/resources`下创建`bootstrap.yml`(优先级高于`application.yml`): ```yaml spring: application: name: your-service-name # 与服务名一致 profiles: active: dev # 环境标识(如dev, prod) cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yaml # 配置文件格式(默认为properties) namespace: your-namespace-id # 可选,用于多环境隔离 group: DEFAULT_GROUP # 可选,默认分组 ``` #### **步骤3:在Nacos控制台添加配置** 1. 进入Nacos控制台**配置管理 -> 配置列表**。 2. 点击“+”新建配置: - **Data ID**:`your-service-name-dev.yaml`(格式:`${spring.application.name}-${spring.profiles.active}.${file-extension}`) - **Group**:与`bootstrap.yml`中配置的group一致(如`DEFAULT_GROUP`)。 - **配置内容**:按YAML或Properties格式填写,例如: ```yaml user: name: "test" age: 25 ``` #### **步骤4:动态获取配置** 在代码中使用`@Value`或`@ConfigurationProperties`: ```java @RestController @RefreshScope // 支持配置动态刷新 public class ConfigController { @Value("${user.name}") private String userName; @GetMapping("/user") public String getUser() { return userName; } } ``` #### **步骤5:验证** - 启动应用,检查日志确认是否从Nacos加载配置。 - 修改Nacos中的配置并发布,观察应用是否自动刷新(需配合`@RefreshScope`)。 --- ### **4. 版本兼容性** 确保版本匹配,参考官方组合: - Spring Cloud Alibaba 2022.0.0.0 ➔ Spring Boot 3.x - Spring Cloud Alibaba 2021.0.5.0 ➔ Spring Boot 2.6.x --- ### **常见问题** 1. **连接失败**:检查Nacos服务器状态、防火墙、配置地址是否正确。 2. **配置未生效**:确认`bootstrap.yml`存在,且Data ID、Group命名符合规则。 3. **依赖冲突**:统一管理Spring Cloud Alibaba和Spring Boot版本。 --- 通过以上步骤,即可在Spring Boot中快速集成Nacos,实现服务注册发现与配置管理功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值