GitHub - VickyFengYu / springboot-security-junit5-docker-thymeleaf-bootstrap案例源码


这是一个SpringBoot应用程序。如果您在本地运行,只需使用某些IDE(如Intellij Idea)打开项目,然后运行OnlineTodoApplication类。
成功运行项目后 ,在浏览器中键入http:// localhost:8080 / app / login。然后你可以看到登录页面。
我在数据库MySql中生成了两个帐户,为了得到它,你需要在文件夹resources / sql中运行sql文件:
bob_admin / bob_admin
tom_user / tom_user
登录后,用户可以看到自己的任务列表。

SpringBoot
1. 安全
Bob和Tom有不同的角色,拥有不同的资源访问权限
单击“您的任务列表”页面上的“测试管理”按钮,可以看到不同角色的访问控制

2. Thymeleaf && Bootstrap
我主要使用Thymeleaf Bootstrap和Jquery来完成前端。我选择这些技术主要是因为我懒得开始一个新的前端项目。
但是在生产中,我不推荐这样做,我更喜欢后端前端分离和现代前端框架,如Angular,Vue,React等,
我有一个Angular项目:https//github.com/VickyFengYu/angular-dynamic-progress-bar
如果你看一下它,你会发现它很容易使用。
相比之下,thymeaf 和bootstrap可能不那么方便,如分页,页面布局,这对我来说真的有点麻烦,因为前端工程师并不那么专业。

3. Junit5
我写了一些simpe单元和集成测试用例,我没有投入太多时间,我会继续改进它。
我使用Junit5,Mockito,我在pom.xml中禁用了Junit4以避免混淆。

 <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-test</artifactId>
               <scope>test</scope>
               <exclusions>
                   <exclusion>
                       <groupId>junit</groupId>
                       <artifactId>junit</artifactId>
                   </exclusion>
               </exclusions>
           </dependency>


4. Docker
安装Docker:
我只需下载一个Docker Desktop并将其安装在我的计算机上。
构建Docker镜像:
你需要一个DockerFile来构建镜像,它位于文件夹spring-boot-demo / DockerFile中

运行Docker镜像即可启动应用