分享
  1. 首页
  2. 文章

基于Spring Boot的登录demo

Java1122zzz · · 3020 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

本项目基于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


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3020 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏