01 环境搭建, table 设计
Table 设计
貌似安装 mysql 中, table 的结构自动就在里了,呵呵.
sys_user (salt 加密盐, status: 0-禁用, 1-正常, del_flag: -1已删除, 0正常)
sys_role
sys_dept (partent_id 上级机构ID, 0 为一级机构)
sys_menu (type 0:目录 1菜单 2按钮)
sys_user_role
sys_role_menu
sys_role_dept
sys_dict (记录常用枚举类型的数据)
sys_config (记录系统配置信息)
sys_log (操作日志)
sys_login_log (登录日志)
生成 Maven 项目
登录 Spring Initializr, 输入项目信息, https://start.spring.io/, 下载之后导入 Maven 项目 (Existing Maven Projects)
这里要配置 Maven, eclipse 和 maven 的相关信息, 主要是 Maven 的 repository 和 setting.xml
清理掉不需要的目录结构 mvnw, mvnw.cmd 和 test 目录下的测试文件, 另外, 如果使用 yaml 配置格式, 需要把 resources/application.properties 改为 application.yml
编译, 打包尝试, 右键 pom.xml -> run as maven Install 可以看到 build success 字样, 接下来就可以 run application 了.
右键-> DemoApplication.java 选择 run as Java Application. 就可以看到如下的画面了.
简单配置工作
修改启动端口
在 application.yml 的配置属性中, 默认是 8080, 可以修改为 8001, 加入如下信息:
server:
port: 8001
因为 yml 格式文件是树状的, 功能和 application.properties 是一样的, 但树状的更易于观看.
但是, 只要修改类似 application.yml. 你需要:
1. 右键 pom -> run as maven clean
2. 右键 pom -> run as maven install
3. 右键 DemoApplicaiton -> run as Java Application.
如果碰到类似 @restController 找不到的情况, 那肯定是 pom 的 maven 依赖引用少了. 一般这种 web 程序, 还需要添加一个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
第一个 controller
新创建包 com.example.demo.controller, 然后新创建 java 类.
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping(value = "/hello") public Object hello() { return "hello Demo"; } }
这样就可以通过 localhost:8001/hello 访问到这个 controller 了.
swagger 配置
首先, 增加 maven 依赖.
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
配置swagger 相关类
新建 config 包, 并在下边添加配置类. 创建 com.example.demo.config 包, 然后新创建类 SwaggerConfig.
package com.example.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()).build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder().build(); } }
然后就可以通过 localhost:8001/swagger-ui.html 访问到 swagger 接口了.
我们可以通过点击 excute, 来测试端口. 如下截图, 我们可以看到 response by : hello Demo.