内容简介:本项目基于Spring Boot框架,搭建了一个简单的登录微服务。Spring Boot相对于传统的SSM(Spring MVC + Mybatis + Spring)框架用起来更加简单,不需要进行复杂的配置,方便灵活。Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring应用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。
本项目基于Spring Boot框架,搭建了一个简单的登录微服务。
Spring Boot相对于传统的SSM(Spring MVC + Mybatis + Spring)框架用起来更加简单,不需要进行复杂的配置,方便灵活。
Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个 Java 类来运行一个Spring应用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。
使用Spring Boot可以很方便的建立微服务。
效果图
项目测试地址 : http://tianle.me:8080
项目代码: github
效果图
应用技术
Spring Boot + bootstrap + thymeleaf
项目搭建
使用Intellij中的Spring Initializr来快速构建Spring Boot
菜单栏中选择File=>New=>Project..
一直点下一步
p1
p2
p3
p4
最后点击Finish
联网自动从网站上下载Spring Boot的模板,稍作等待框架就搭好啦。
项目目录结构
上面步骤中的项目名字和这个截图有点不一样(login)
src/main/java/ 为代码文件
src/main/resources/ 为资源文件
为了保证项目资源结构的清晰,我们把 src/main/java/ 再进一步进行划分:
bean 目录存放的是要用到的实体类
controller 目录存放的是控制层类
src/main/resources/template/ 为静态页面的模板文件,这里用了thymeleaf模板渲染引擎框架(据说Spring Boot推荐)
src/main/resources/application.properties 为Spring Boot的配置文件
p5
maven配置
我们做的是Java web项目,在其默认生成的maven配置文件中添加web和thymeleaf依赖。
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
application.properties配置
这里我们配置 thymeleaf模板渲染引擎
# Enable template caching. spring.thymeleaf.cache=true # Check that the templates location exists. spring.thymeleaf.check-template-location=true # Content-Type value. spring.thymeleaf.servlet.content-type=text/html # Enable MVC Thymeleaf view resolution. spring.thymeleaf.enabled=true # Template encoding. spring.thymeleaf.encoding=UTF-8 # Comma-separated list of view names that should be excluded from resolution. spring.thymeleaf.excluded-view-names= # Template mode to be applied to templates. See also StandardTemplateModeHandlers. spring.thymeleaf.mode=HTML # Prefix that gets prepended to view names when building a URL. spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL. spring.thymeleaf.suffix=.html
其余的Spring Boot属性配置文件参考(本项目没有配置,使用的默认):
Spring Boot属性配置文件详解Bean
本项目为用户登录,只考虑用户这一个角色,包含用户名和密码。
package me.tianle.login.bean; public class User { private String name; private String password; public User(String name, String password) { this.name = name; this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
Controller
web项目的控制器写在这里,处理页面的请求,前后台交互
@Controller:修饰class,用来创建处理http请求的对象
@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。
@RequestMapping:配置url映射
目前版本没有添加数据库,能否登录判断逻辑直接写死在代码中。
package me.tianle.login.controller; import me.tianle.login.bean.User; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @RestController public class LoginController { @RequestMapping("/") public ModelAndView index() { return new ModelAndView("index"); } @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(@ModelAttribute User user) { String name = user.getName(); String password = user.getPassword(); if (name.equals("qinya") && password.equals("tianle")) { return "Success"; } else { return "Failed"; } } }
项目打包运行
使用maven进行打包。
mvn install
Spring Boot里面嵌入了Tomcat,直接运行
java -jar xxx.jar
Java高架构师、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、 Redis 、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频免费学习加群:835638062 点击链接加入群聊【Java高级架构】:https://jq.qq.com/?_wv=1027&k=5S3kL3v
以上所述就是小编给大家介绍的《基于Spring Boot的登录demo》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- beego实现用户未登录跳转到登录页面
- Django实现小程序的登录验证功能,并维护登录态
- 【Python3爬虫】破解时光网登录加密参数并实现模拟登录
- iTerm2结合 expect 脚本实现 ssh 登录跳板机后登录指定服务器
- ybg-spring-fast 添加码云第三方登录,微信第三方登录
- SSH 证书登录教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。