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

19-02-22 banq
         

这是一个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镜像即可启动应用