目录

1.概述

2.创建项目

3.配置pom.xml

4.配置application.properties

5.创建package

6.创建相关类

6.1在model包下创建UserBean

6.2在service包下创建UserService

6.3在serviceImpl包下创建UserServiceImpl

6.4在dao包下创建UserMapper

6.5在controller包下创建LoginController

6.6 在创建主程序

7.创建mapper文件

7.1创建存放mapper文件的目录

7.2创建mapper文件

7.3配置mapper路径

8.创建HTML页面

8.1创建login.html

8.2创建success.html

8.2创建error.html

9.创建数据库用户表

10.测试

10.1 直接在主类测试

10.2 编写测试类测试

11.问题处理

11.1 提示没有org.postgresql.Driver

11.2 页面提示Whitelabel Error Page


1.概述

本实例通过spring boot构建web项目,从用户登录的例子创建CMV层次的流程。

环境:

JDK:1.8

数据库:postgresql

spring boot:2.4.2

2.创建项目

参考《[spring]用IEDA创建spring-boot项目

3.配置pom.xml

文件位置:项目文件夹下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.zzj.spring.boot</groupId><artifactId>spring-boot-test02</artifactId><version>0.0.1-SNAPSHOT</version><name>springboottest02</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--解析html包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.2.18</version></dependency><!--MyBatis配置--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.0</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

4.配置application.properties

文件位置:src/main/resources

spring.datasource.driver-class-name=org.postgresql.Driver
#配置数据库连接URL
spring.datasource.url=jdbc:postgresql://192.168.17.23:25308/zzjdb
#配置数据库额度用户名
spring.datasource.username=zzj
#配置数据库的密码
spring.datasource.password=Huawei@123
# 配置服务器的相关信息
# 配置服务器的端口
#server.port=8080#spring.thymeleaf.prefix=classpath:/templates/
#spring.thymeleaf.suffix=.html
#spring.thymeleaf.mode=HTML5
#pring.thymeleaf.mode =LEGACYHTML5
#spring.thymeleaf.encoding=UTF-8
#pring.thymeleaf.content-type=text/html#配置映射文件
mybatis.mapper-locations=classpath:mapper/*.xml
#配置实体类
#mybatis.type-aliases-package=com.zzj.spring.boot.model

5.创建package

创建5个包: controller、service、serviceImpl、dao、model

6.创建相关类

6.1在model包下创建UserBean

package com.zzj.spring.boot.model;
public class UserBean {private int id;private String name;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}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;}}

6.2在service包下创建UserService

package com.zzj.spring.boot.service;
import com.zzj.spring.boot.model.UserBean;
public interface UserService {UserBean loginIn(String name, String password);}

6.3在serviceImpl包下创建UserServiceImpl

package com.zzj.spring.boot.serviceImpl;
import com.zzj.spring.boot.dao.UserMapper;
import com.zzj.spring.boot.service.UserService;
import com.zzj.spring.boot.model.UserBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic UserBean loginIn(String name, String password) {return userMapper.getInfo(name, password);}
}

6.4在dao包下创建UserMapper

package com.zzj.spring.boot.dao;
import com.zzj.spring.boot.model.UserBean;
public interface UserMapper {UserBean getInfo(String name, String password);
}

6.5在controller包下创建LoginController

package com.zzj.spring.boot.controller;
import com.zzj.spring.boot.model.UserBean;
import com.zzj.spring.boot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@Controller
public class LoginController {@AutowiredUserService userService;@RequestMapping("/login")public String index(){return "login";}@RequestMapping(value = "/loginIn",method = RequestMethod.POST)public String login(String name,String password) {UserBean userBean = userService.loginIn(name, password);if (userBean != null) {return "success";}else {return "error";}}}

6.6 在创建主程序

注意:主程序一定要在和controller包在同一个层级上,否则报错。

package com.zzj.spring.boot.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.mybatis.spring.annotation.MapperScan;@SpringBootApplication@MapperScan("com.zzj.spring.boot.dao")public class Springboottest02Application {public static void main(String[] args) {SpringApplication.run(Springboottest02Application.class, args);}}

7.创建mapper文件

Mapper文件作为dao包下的接口接口实现类,可以通过配置XML文件的方式实现底层数据库的解耦。一般上dao下的每个类对应一个mapper文件,每个类型的每个方法对应一个配置。

7.1创建存放mapper文件的目录

在src/main/resources下创建mapper文件夹

8.1创建login.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>hello</title></head><body><form role="form" action = "/loginIn" method="post">username:<input type="text" id="name" name = "name"> <br>passwd:<input type="password" id = "password" name = "password"> <br><input type="submit" id = "login" value = "login"></form></body></html>

8.2创建success.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>hello</title></head><body>恭喜你,登录成功!!</body></html>

8.2创建error.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>hello</title></head><body>用户名或密码错误,请确实是否正确!!</body></html>

9.创建数据库用户表

在postgrepsql数据库中执行:

create table zzjtest.testuser(id int,name varchar(50),password varchar(50));insert into zzjtest.testuser(id,name,password)values(1,'a','a');insert into zzjtest.testuser(id,name,password)values(1,'b','b');

10.测试

10.1 直接在主类测试

启动Springboottest02Application

 
 
启动完成后,在浏览器输入localhost:8080 进行测试

10.2 编写测试类测试

 修改src/test/java/com.zzj.spring.boot.demo的Springboottest02ApplicationTests类

package com.zzj.spring.boot.demo;
import com.zzj.spring.boot.model.UserBean;
import com.zzj.spring.boot.service.UserService;
import org.junit.runner.RunWith;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest
public  class Springboottest02ApplicationTests {@AutowiredUserService userService;@Testpublic void contextLoads() {UserBean userBean = userService.loginIn("b", "b");System.out.println("username:"+userBean.getName()+";userpasswd:"+userBean.getPassword());}}

11.问题处理

11.1 提示没有org.postgresql.Driver

在pom.xml中添加

<repositories><repository><id>java.net</id><url>http://download.java.net/maven/2</url></repository></repositories>

11.2 页面提示Whitelabel Error Page

在pom.xml中添加

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>在application.properties 中添加mybatis.mapper-locations=classpath:mapper/*.xml

[spring]spring boot项目实例相关推荐

  1. Spring - Spring Boot Spring Cloud

    Spring -> Spring Boot > Spring Cloud 这几天刚刚上班,公司用的是Spring Cloud,接触不多.我得赶快学起来. 想学习就必须得知道什么是微服务,什 ...

  2. Spring MVC Boot Cloud 技术教程汇总

    转载自 Spring MVC & Boot & Cloud 技术教程汇总 昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技 ...

  3. Spring MVC Boot Cloud 技术教程汇总(长期更新)

    昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...

  4. Spring/Spring boot正确集成Quartz及解决@Autowired失效问题

    Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 参考文章: (1)Spring/Spring boot正确集成Quartz及解决@Autowired失效问题 ...

  5. Spring/Spring Boot错误页面处理的多种方式(404 not found等)

    Spring/Spring Boot错误页面处理的多种方式(404 not found等) 简单来说, tomcat容器会根据error-page的内容forward到指定location(会再走一次 ...

  6. Spring: Spring 从xml获取bean

    1.美图 2.案例 SpringBoot : BeanFactory和FactoryBean的区别 3.前言 Spring : Spring的ApplicationContext接口 上面一篇博客讲解 ...

  7. 接近8000字的Spring/Spring常用注解总结

    前言 这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基本没啥大 ...

  8. 【笔记】Spring - Spring Data 整合:SpringBoot、Redis

    相关 [笔记]Spring - Spring Data JPA - https://lawsssscat.blog.csdn.net/article/details/103466076 资料 hm s ...

  9. ssm 上传图片到mysql_ssm(Spring+Spring MVC+MyBatis)+Web Uploader开发图片文件上传实例,支持批量上传,拖拽上传,复制粘贴上传...

    项目描述 ssm开发一个上传图片的项目 用百度的插件 Web Uploader 上传,不会的去它的官网找API文档 官网的API文档还是比较 坑的.... 百度插件  Web Uploader 上传文 ...

  10. java的hr样式,spring+spring mvc+mybatis开发java医院HR人事管理系统(加强版本+ shiro)...

    项目描述 java web医院HR后台管理系统(增加shiro) 运行环境 jdk7+tomcat7+mysql+MyEclipse+maven 项目技术(必填) spring+spring mvc+ ...

最新文章

  1. php百分比乘加,用php简单实现加减乘除计算器
  2. 有关无人驾驶汽车的思考
  3. pythonlinux加入自己写的模块_利用ngx_python模块嵌入到Python脚本
  4. idea 代码第一次上传git_如何使用IDEA将项目代码首次上传至GitHub,并持续推送?...
  5. dedecms怎么改php版本_玩转Termux:手把手教你在手机上安装php与nginx!
  6. JAVA自学笔记25
  7. 信息学奥赛一本通(2039:【例5.6】冒泡排序)
  8. 数仓系列 | 深入解读 Flink 资源管理机制
  9. 分段路由_如何理解段路由(SPRING)?—Vecloud微云
  10. .net反混淆脱壳工具de4dot的使用
  11. FusionCharts的使用方法
  12. ubuntu 安装pyqt IDE使用eric 辛酸史
  13. 深度linux 官网,深度OS
  14. Abaqus6.14.4 Linux详细图文安装教程
  15. 配色表 色卡 前段色彩
  16. 史蒂夫·乔布斯谈生命中最重要的东西
  17. 移动硬盘打不开,千万别轻易格式化
  18. 市场分析-全球与中国木槿果实提取物市场现状及未来发展趋势
  19. 《基于C/S模式的android手机与PC机通信系统的开发》项目
  20. mysql useing查询_mysql explain语法详解--优化你的查询

热门文章

  1. SQL数据查询之——单表查询
  2. transform子元素,绝对定位失效
  3. Seq2Seq中的Attention
  4. java.lang.NoClassDefFoundError: javax/wsdl/extensions/ElementExtensible
  5. 浅谈Borg/YARN/Mesos/Torca/Corona一类系统
  6. 双向循环链表---仿照linux内核实现
  7. Facebook开发地面技术扩大互联网连接
  8. wordpress 伪静态nginx设置
  9. 怎样才能算是在技术上活跃的小公司
  10. 获取经纬度之间距离的Java工具类