diff --git a/README.md b/README.md
index 39a7238c6c865b350ee497a13e758a5371be47f7..4484bd627483516f05f6850358cb32325ed958f2 100644
--- a/README.md
+++ b/README.md
@@ -54,10 +54,22 @@ java21的bin目录/java -jar jar包目录/jar包名称.jar --add-opens java.base
# 打包与启动
+启动时需要添加环境变量,如下图所示
+
+
+
启动命令参考
+win
+
```bash
chcp
chcp 65001
C:\Users\Administrator\.jdks\openjdk-21.0.1\bin\java -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 --add-opens java.base/sun.util.calendar=ALL-UNNAMED -jar .\milkbox-app-1.0-DEV.jar
```
+
+# 新建模块
+
+## 在milkbox-service模块下新建模块后需要配置maven的导包依赖
+
+在项目根目录下的pom.xml的dependencyManagement中定义新模块的版本,然后在milkbox-app模块中引入新模块
\ No newline at end of file
diff --git a/img/image-20240112111124776.png b/img/image-20240112111124776.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f9cb81c88952bebe5989b8820ba38ca31c0ead2
Binary files /dev/null and b/img/image-20240112111124776.png differ
diff --git a/milkbox-app/pom.xml b/milkbox-app/pom.xml
index 8b16f0e473529bebf6cad3facfe1baad36875034..945018ba22ecf9391cd5756b1f3e47de54efafbe 100644
--- a/milkbox-app/pom.xml
+++ b/milkbox-app/pom.xml
@@ -18,14 +18,22 @@
-
-
-
-
+
+
top.milkbox
service-test
+
+
+ top.milkbox
+ service-sys
+
+
+
+ top.milkbox
+ service-log
+
diff --git a/milkbox-app/src/main/java/top/milkbox/Application.java b/milkbox-app/src/main/java/top/milkbox/Application.java
index 7bb7eb338b2dc936a96787db8b86bfd5c5dc0125..2b378d43f113275eaa40036bed74ace3f8787486 100644
--- a/milkbox-app/src/main/java/top/milkbox/Application.java
+++ b/milkbox-app/src/main/java/top/milkbox/Application.java
@@ -3,10 +3,14 @@ package top.milkbox;
import cn.hutool.core.date.DateTime;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import top.milkbox.pojo.CommonResult;
import java.util.Date;
import java.util.TimeZone;
@@ -17,6 +21,8 @@ import java.util.TimeZone;
* @author milkbox
*/
@Slf4j
+@EnableWebMvc
+@RestController
@SpringBootApplication
public class Application {
@@ -25,7 +31,7 @@ public class Application {
*/
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Application.class);
-//// springApplication.setBannerMode(Banner.Mode.OFF); // 禁用boot横幅
+// springApplication.setBannerMode(Banner.Mode.OFF); // 禁用boot横幅
ConfigurableApplicationContext app = springApplication.run(args);
log.info("当前服务器时间(new Date())与时区(TimeZone.getDefault()):" +
new Date() + "," + JSONUtil.toJsonStr(TimeZone.getDefault()));
@@ -33,4 +39,9 @@ public class Application {
// log.info("通用配置:\n" + JSONUtil.toJsonPrettyStr(app.getBean("commonProperties")));
log.info(">>> {}", Application.class.getSimpleName().toUpperCase() + " STARTING SUCCESS 启动成功");
}
+
+ @GetMapping("/")
+ public CommonResult welcome(@RequestParam(required = false) String message) {
+ return CommonResult.ok("系统运行中......", message);
+ }
}
\ No newline at end of file
diff --git a/milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java b/milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b5c37f982a0bf4d8fd8720cb8f945c140db2d3d
--- /dev/null
+++ b/milkbox-app/src/main/java/top/milkbox/core/config/MybatisPlusConfig.java
@@ -0,0 +1,32 @@
+package top.milkbox.core.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 创建时间: 2024-01-15 下午 5:49
+ *
+ * @author milkbox
+ */
+@Configuration
+public class MybatisPlusConfig {
+
+ /**
+ * 添加分页插件
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ // 其他插件...
+
+
+ // 如果配置多个插件,切记分页最后添加
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ // 如果有多数据源可以不配具体类型 否则都建议配上具体的DbType
+ // interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
+ return interceptor;
+ }
+}
diff --git a/milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java b/milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb7a5310bb043f5caf6edbd6078f805e8a8fb952
--- /dev/null
+++ b/milkbox-app/src/main/java/top/milkbox/core/handler/GlobalControllerAdvice.java
@@ -0,0 +1,97 @@
+package top.milkbox.core.handler;
+
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.converter.HttpMessageNotReadableException;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.method.annotation.HandlerMethodValidationException;
+import top.milkbox.enums.CommonStatusCodeEnum;
+import top.milkbox.exceprion.CommonServiceException;
+import top.milkbox.pojo.CommonResult;
+
+import java.util.Arrays;
+
+/**
+ * 全局controller增强器
+ * 创建时间: 2024-01-10 下午 2:29
+ *
+ * @author milkbox
+ */
+@Slf4j
+@ControllerAdvice
+public class GlobalControllerAdvice {
+
+ /**
+ * 把值绑定到Model中,使全局@RequestMapping可以获取到该值
+ */
+ @ModelAttribute
+ public void addAttributes(Model model) {
+// log.info(model.toString());
+ }
+
+ /**
+ * 应用到所有@RequestMapping注解方法,在其执行之前初始化数据绑定器
+ */
+ @InitBinder
+ public void initBinder(WebDataBinder binder) {
+ }
+
+ /**
+ * 全局异常捕捉,在此处进行处理
+ *
+ * @param exception 捕获到的异常
+ * @return 通用响应对象
+ */
+ @ResponseBody
+ @ExceptionHandler(value = Exception.class)
+ public CommonResult