目录
使用SpringBoot+MyBatis+MySQL实现登录
SpringBoot框架
SpringBoot框架并不是一个全新的框架,它默认集成了SpringMVC及常用的相关依赖,当使用SpringBoot框架时,一般不需要显式的添加太多依赖,同时,SpringBoot框架采取了**约定大于配置**的思想,简化了大量的配置,几乎不需要程序员显式的配置相关内容!SpringBoot框架设置的默认编码是utf-8,所以,在SpringMVC相关功能的开发中,通常不必关心编码的问题。
SpringBoot框架还有其它优点,暂不讨论。
创建SpringBoot项目
创建SpringBoot项目的方式有几种,最直接的方式是在`https://start.spring.io`页面中填写项目的必要参数,勾选所需要添加的依赖,点击**Generate**按钮,即可下载项目。
将下载得到的压缩包解压,并将解压得到的文件夹移动到Workspace中,然后,通过Eclipse的**Import** -> **Exsiting Maven Projects**导入项目,在整个导入过程中,务必保证当前电脑是能够连接到Maven服务器的!
如果当前使用的Eclipse是Mars(4.5)版本,在**pom.xml**中会提示错误信息,这个错误并不影响项目的运行,可以无视,如果希望不显示这个错误,可以将Eclipse升级到Oxygen(4.7)以上版本。
启动SpringBoot项目
创建好的项目中,默认就存在`cn.tedu.sample`包,这个包的名称,是根据创建项目时填写的**Group**和**Artifact**决定的,在这个包下,有名为`SampleApplcation`的类,该类的名称也是由创建项目时填写的**Artifact**决定的。
**注意:默认存在的`xxxApplication`类是SpringBoot项目的启动类,当需要启动该项目时,直接执行类中的`main()`方法即可!**
**注意:SpringBoot项目中内置了Tomcat,启动项目的过程,其实就是将项目部署到内置Tomcat的过程,所以,在没有停止已启动的项目之前,或没有关闭以前已经运行的Tomcat之前,不可以再次启动SpringBoot项目,否则,会因为Tomcat的端口号被占用导致启动失败!**
在SpringBoot项目的**src/main/resources**下,默认即存在**application.properties**文件,这个是SpringBoot项目的配置文件,几乎所有相关配置全部定义在这个文件中!
如果需要修改SpringBoot项目使用的Tomcat的端口号,可以在配置文件中添加: server.port=8888
在项目中添加静态页面
在SpringBoot项目中的**src/main/resources**下默认即存在**static**文件夹,这个文件夹就是用于存放静态资源(`.html`、`.css`、`.js`、各种图片等)的,可以在这个位置新建**index.html**页面,完成后,在浏览器通过`http://localhost:8888/`即可访问该页面。
**注意:SpringBoot框架会将项目部署到内置的Tomcat,并且,使用的Context Path为空字符串,所以,在访问时,URL中并不需要添加项目名称!**
**注意:index.html是默认的页面,所以,访问该页面时,也不需要显式的在URL中写出文件名!**
通过控制器处理请求
在**src/main/java**的`cn.tedu.sample`包下创建`HelloController`控制器类。
**注意:SpringBoot项目默认配置了组件扫描,扫描的包就是默认存在的包,所以,在项目中使用到的各种组件类都必须放在cn.tedu.sample包或其子包中!**
在控制器类中添加处理请求的方法:
@RestController
public class HelloController {
@RequestMapping("hello")
public String showHello() {
return "欢迎使用SpringBoot框架开发项目!!!";
}
}
**注意:SpringBoot项目默认就已经配置了SpringMVC中的DispatcherServlet,并且,映射的路径是`/*`,所以,在设计请求路径时,不必使用`.do`作为后缀!**
以上使用的`@RestController`注解,是`@Controller`与`@ResponseBody`的组合效果!即:在控制器类之前添加`@RestController`,则该控制器类中的所有处理请求的方法之前都不必再添加`@ResponseBody`就直接表示响应正文!如果这样的控制器类中有某些方法必须以转发或重定向的方式来响应,可以将方法的返回值类型声明为`ModelAndView`再处理!
在普通的SpringMVC项目中,也可以使用`@RestController`注解,但是需要另行配置。
在SpringBoot项目连接数据库
**注意:SpringBoot项目默认并没有集成数据库及数据库框架的相关依赖!如果需要在SpringBoot中实现数据库编程,需要创建项目时勾选相关依赖,或创建项目后在pom.xml中添加相关依赖!**
在项目中添加MySQL与MyBatis相关依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
**注意:在SpringBoot中添加依赖时,不一定需要指定依赖的版本!SpringBoot会自行管理版本,通常使用的是较新的且稳定的版本!如果一定需要使用指定的版本,也可以配置所使用的版本号!**
**注意:如果项目中添加了数据库相关依赖,启动项目时,SpringBoot框架就会尝试读取数据库连接的相关配置,如果没有添加配置,直接启动项目会报错!**
当添加了数据库相关依赖后,必须在**application.properties**中配置数据库连接的相关信息:
spring.datasource.url=jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.passwor