From dc177886789f52434caddaf892f29b92f5e3621d Mon Sep 17 00:00:00 2001 From: JACKYMYPERSON <1627832236@qq.com> Date: Mon, 2 Mar 2026 17:07:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0nacos=E4=B8=AD=E9=97=B4?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/mayiming/App.java | 2 +- user-service/pom.xml | 38 +++++++-- .../src/main/java/cn/mayiming/App.java | 1 + .../mayiming/Controller/Redis/RedisParam.java | 26 ------ .../mayiming/Controller/Redis/Redistest.java | 22 ----- .../mayiming/Controller/UserCon/UserBody.java | 22 ----- .../Controller/UserCon/UserController.java | 46 ----------- .../java/cn/mayiming/Mapper/UserMapper.java | 81 ------------------- .../src/main/resources/application.yml | 41 +++++----- .../src/test/java/cn/mayiming/AppTest.java | 38 --------- 10 files changed, 51 insertions(+), 266 deletions(-) delete mode 100644 user-service/src/main/java/cn/mayiming/Controller/Redis/RedisParam.java delete mode 100644 user-service/src/main/java/cn/mayiming/Controller/Redis/Redistest.java delete mode 100644 user-service/src/main/java/cn/mayiming/Controller/UserCon/UserBody.java delete mode 100644 user-service/src/main/java/cn/mayiming/Controller/UserCon/UserController.java delete mode 100644 user-service/src/main/java/cn/mayiming/Mapper/UserMapper.java delete mode 100644 user-service/src/test/java/cn/mayiming/AppTest.java diff --git a/javamemories-common/src/main/java/cn/mayiming/App.java b/javamemories-common/src/main/java/cn/mayiming/App.java index bf85d76..5a2115f 100644 --- a/javamemories-common/src/main/java/cn/mayiming/App.java +++ b/javamemories-common/src/main/java/cn/mayiming/App.java @@ -4,7 +4,7 @@ package cn.mayiming; * Hello world! * */ -@Spring + public class App { public static void main( String[] args ) diff --git a/user-service/pom.xml b/user-service/pom.xml index 9637115..2408678 100644 --- a/user-service/pom.xml +++ b/user-service/pom.xml @@ -16,20 +16,42 @@ UTF-8 + 8.0.33 + + 3.0.3 - - org.springframework.boot - spring-boot-starter-web + org.springframework.boot + spring-boot-starter-web + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery - + - org.springframework.boot - spring-boot-starter-test - test + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config - + + + + + org.springframework.boot + spring-boot-maven-plugin + 3.2.3 + + + + repackage + + + + + + + \ No newline at end of file diff --git a/user-service/src/main/java/cn/mayiming/App.java b/user-service/src/main/java/cn/mayiming/App.java index bd10567..c7fb9fb 100644 --- a/user-service/src/main/java/cn/mayiming/App.java +++ b/user-service/src/main/java/cn/mayiming/App.java @@ -1,5 +1,6 @@ package cn.mayiming; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/user-service/src/main/java/cn/mayiming/Controller/Redis/RedisParam.java b/user-service/src/main/java/cn/mayiming/Controller/Redis/RedisParam.java deleted file mode 100644 index 59e7ed9..0000000 --- a/user-service/src/main/java/cn/mayiming/Controller/Redis/RedisParam.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.mayiming.Controller.Redis; - -public class RedisParam { - private String key; - private String value; - - // 必须加无参构造器(JSON解析需要) - public RedisParam() {} - - // GET/SET方法(必须加,否则JSON解析不到值) - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } -} diff --git a/user-service/src/main/java/cn/mayiming/Controller/Redis/Redistest.java b/user-service/src/main/java/cn/mayiming/Controller/Redis/Redistest.java deleted file mode 100644 index 9ecfabe..0000000 --- a/user-service/src/main/java/cn/mayiming/Controller/Redis/Redistest.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.mayiming.Controller.Redis; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.util.concurrent.TimeUnit; - -@RestController -public class Redistest { - @Autowired - private StringRedisTemplate stringRedisTemplate; - @PostMapping("/redis/put") - public String put(@RequestBody RedisParam param) { - String key = param.getKey(); - stringRedisTemplate.opsForValue().set(key, "123", 10, TimeUnit.MINUTES); - String redisValue = stringRedisTemplate.opsForValue().get(key); - return "Redis写入成功!key=" + key + ",value=" + redisValue; - } -} diff --git a/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserBody.java b/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserBody.java deleted file mode 100644 index 1be8081..0000000 --- a/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserBody.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.mayiming.Controller.UserCon; - -public class UserBody { - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String username; - public String password; -} diff --git a/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserController.java b/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserController.java deleted file mode 100644 index 2db35f9..0000000 --- a/user-service/src/main/java/cn/mayiming/Controller/UserCon/UserController.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.mayiming.Controller.UserCon; - -import cn.mayiming.Mapper.UserMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import java.util.HashMap; -import java.util.Map; - -@RestController -public class UserController { - - @Autowired - private UserMapper userMapper; - - @PostMapping("/login") - public Map login(@RequestBody UserBody user) { - Map result = new HashMap<>(); - try { - String dbPassword = userMapper.getPasswordByUsername(user.getUsername()); - String username = user.getUsername(); - String password = user.getPassword(); - // 3. 编写 SQL 查询数据库中的用户密码 - // 用 ? 占位符,防止 SQL 注入(必须!) - - // 4. 验证密码(实际项目要加密对比,这里简单演示) - if (password != null && password.equals(dbPassword)) { - result.put("code", 200); - result.put("msg", "登录成功"); - result.put("data", username); - } else { - result.put("code", 400); - result.put("msg", "密码错误"); - } - } catch (Exception e) { - // 捕获“用户不存在”等异常 - result.put("code", 404); - result.put("msg", "用户名不存在或登录失败"); - result.put("error", e.getMessage()); - } - return result; - } -} diff --git a/user-service/src/main/java/cn/mayiming/Mapper/UserMapper.java b/user-service/src/main/java/cn/mayiming/Mapper/UserMapper.java deleted file mode 100644 index 874dde2..0000000 --- a/user-service/src/main/java/cn/mayiming/Mapper/UserMapper.java +++ /dev/null @@ -1,81 +0,0 @@ -package cn.mayiming.Mapper; -import cn.mayiming.Controller.UserCon.UserBody; -import org.apache.ibatis.annotations.*; - -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface UserMapper { - @Select("SELECT password FROM user WHERE username = #{username}") - String getPasswordByUsername(String username); - /** - * 根据ID查询用户(单条查询) - * @param id 用户ID - * @return 完整用户信息 - */ - @Select("SELECT id, username, password, nickname, create_time AS createTime FROM user WHERE id = #{id}") - UserBody getUserById(Long id); - - /** - * 根据用户名查询完整用户信息(登录/校验用) - * @param username 用户名 - * @return 完整用户信息 - */ - @Select("SELECT id, username, password, nickname, create_time AS createTime FROM user WHERE username = #{username}") - UserBody getUserByUsername(String username); - - /** - * 查询所有用户(分页建议用 MyBatis-Plus,这里先实现全量) - * @return 用户列表 - */ - @Select("SELECT id, username, password, nickname, create_time AS createTime FROM user") - List listAllUsers(); - - // ==================== 增 ==================== - /** - * 新增用户(自增ID) - * @param user 用户实体 - * @return 影响行数(1=成功,0=失败) - */ - @Insert("INSERT INTO user (username, password, nickname, create_time) VALUES (#{username}, #{password}, #{nickname}, #{createTime})") - @Options(useGeneratedKeys = true, keyProperty = "id") // 自动返回自增的ID到user对象的id字段 - int insertUser(UserBody user); - - // ==================== 改 ==================== - /** - * 根据ID修改用户昵称 - * @param id 用户ID - * @param nickname 新昵称 - * @return 影响行数 - */ - @Update("UPDATE user SET nickname = #{nickname} WHERE id = #{id}") - int updateNicknameById(@Param("id") Long id, @Param("nickname") String nickname); - - /** - * 根据用户名修改密码 - * @param username 用户名 - * @param newPassword 新密码 - * @return 影响行数 - */ - @Update("UPDATE user SET password = #{newPassword} WHERE username = #{username}") - int updatePasswordByUsername(@Param("username") String username, @Param("newPassword") String password); - - // ==================== 删 ==================== - /** - * 根据ID删除用户 - * @param id 用户ID - * @return 影响行数 - */ - @Delete("DELETE FROM user WHERE id = #{id}") - int deleteUserById(Long id); - - /** - * 根据用户名删除用户 - * @param username 用户名 - * @return 影响行数 - */ - @Delete("DELETE FROM user WHERE username = #{username}") - int deleteUserByUsername(String username); -} diff --git a/user-service/src/main/resources/application.yml b/user-service/src/main/resources/application.yml index 42d3b93..68be9a8 100644 --- a/user-service/src/main/resources/application.yml +++ b/user-service/src/main/resources/application.yml @@ -1,24 +1,21 @@ server: - port: 9091 + port: 9090 spring: - data: - redis: - port: 6379 - password: "" - database: 0 - timeout: 10000 - datasource: - # 连接 URL(关键:test_db 是你要连接的数据库名,需提前创建) - url: jdbc:mysql://rm-f8z6oc5a03331500p8o.mysql.rds.aliyuncs.com:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - # 数据库用户名 - username: root - # 数据库密码(替换为你的 MySQL 密码) - password: Root123456 - # 驱动类名(MySQL 8.x 用这个,5.x 改为 com.mysql.jdbc.Driver) - driver-class-name: com.mysql.cj.jdbc.Driver - # 连接池配置(可选,提升性能) - hikari: - maximum-pool-size: 10 # 最大连接数 - minimum-idle: 2 # 最小空闲连接数 - idle-timeout: 60000 # 空闲连接超时时间(毫秒) - connection-timeout: 30000 # 连接超时时间(毫秒) \ No newline at end of file + application: + name: user-service + cloud: + nacos: + # 服务注册发现配置 + discovery: + server-addr: localhost:8848 # Nacos 服务地址(默认端口 8848) + namespace: public # 命名空间(默认 public,自定义需先在 Nacos 控制台创建) + group: DEFAULT_GROUP # 分组(默认 DEFAULT_GROUP) + service: user-service # 注册到 Nacos 的服务名(建议和子项目 artifactId 一致) + # 配置管理配置(如果引入了 config 依赖才需要) + config: + server-addr: localhost:8848 # 和 discovery 一致 + file-extension: yaml # 配置文件格式(yaml/yml/properties) + namespace: public + group: DEFAULT_GROUP + config: + import: nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}?server-addr=${spring.cloud.nacos.config.server-addr} \ No newline at end of file diff --git a/user-service/src/test/java/cn/mayiming/AppTest.java b/user-service/src/test/java/cn/mayiming/AppTest.java deleted file mode 100644 index 2244532..0000000 --- a/user-service/src/test/java/cn/mayiming/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.mayiming; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -}