SpringBoot简单使用
在漫长的java应用程序开发过程中,笨重的开发框架渐渐的不受人待见,取而代之的将是越来越自动化,越来越轻量级的框架。
学过java的人都应该知道,目前最流行的SSM组合,Spring
、SpringMVC
、Mybatis
。这三个框架要想组合在一起,需要编写大量的配置文件,而且这一过程使得整个项目开发在一开始就变得又臭又长。如此一来,对一个全自动化,不需要用户输入任何配置的智能框架的需求就变得格外重要了。于是乎,spring的作者就为我们开发者带来了福音 -> spring boot。
spring boot并不是一个全新的框架,而是对目前所有流行框架和库的一种整合,jar包管理有了Maven,今后框架的管理也有了Spring Boot。
- 第一步创建Maven工程
- 在pom.xml中加入如下配置
<!-- 继承spring boot父工程的依赖配置 -->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.4.RELEASE</version>
</parent>
<!-- 默认支持jdk版本为1.6 -->
<properties><java.version>1.8</java.version>
</properties><!-- springMvc依赖 -->
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 加入jsp依赖 --><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><!-- 加入jstl标签使用 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><!-- Mybatis依赖 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!-- PageHelper依赖,简化分页代码 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.2</version></dependency>
</dependencies>
- 创建一个启动类
package cn.java2016.controller;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class App{public static void main(String[] args){// spring boot项目的启动入口SpringApplication.run(App.class, args);}
}
- 创建一个Controller类
package cn.java2016.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloWorldController{@RequestMapping("/helloworld")public String helloworld(){// 转发到helloworld.jsp页面return "helloworld";}
}
- 在WEB-INF下创建一个jsp文件夹,并创建一个
helloworld.jsp
随便在里面写点内容
- 在
src/main/resource
目录下创建application.properties
文件,这个文件很重要,这就相当于我们以前配置过的所有的spring xml文件。 在这个文件中做如下配置,指定controller中return的jsp页面路径,注意application.properties里面不能包含中文
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
- 这时候回到App.java类中,启动 run as -> java application 运行spring boot项目,没有任何报错说明启动成功!
- 最后我们来访问localhost:8080/helloworld
(这里默认不需要加项目名)
这时候说明访问成功 - 我们还可以做更多的配置,设置UTF-8编码
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
server.tomcat.uri-encoding=UTF-8
- 数据库连接配置,这里需要mysql驱动的依赖
spring.datasource.url=jdbc:mysql:///boot_crm?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 我们在分页会用到的分页配置,这里需要配置pagehelper的依赖
pagehelper.helper-dialect: mysql
pagehelper.reasonable: true
pagehelper.support-methods-arguments: true
pagehelper.params: count=countSql
pagehelper在spring boot中的用法
// 开始分页,第一个参数表示要查第几页,第二个参数表示一页有多少条数据
Page<Object> page = PageHelper.startPage(pageNum, 15);
// 这里写查询语句,如:查询所有customer表中的数据
List<Customer> list = customerMapper.selectByExample(example);
// 将分页后的数据返回
return page.toPageInfo();
- 配置登陆拦截器, 创建一个类LoginInterceptor
package cn.java2016.interceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;/*** 配置拦截器* * @author Administrator**/
public class LoginInterceptor implements HandlerInterceptor{public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception{// TODO Auto-generated method stub}public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception{// TODO Auto-generated method stub}public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) throws Exception{// 没有登陆过的用户直接打回login页面if (req.getSession().getAttribute("username") != null || req.getRequestURI().indexOf("/login") >= 0){return true;}else{req.getRequestDispatcher("WEB-INF/jsp/index.jsp").forward(req, resp);return false;}}}
- 在App.java中配置拦截器, 需要继承
WebMvcConfigurerAdapter
,并重写addInterceptors
方法
public class App extends WebMvcConfigurerAdapter{@Overridepublic void addInterceptors(InterceptorRegistry registry){// /** 表示拦截多层请求,如 /a/b/c/, 而 /* 只拦截一层请求,如: /aregistry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**");}...
}
- 如果你用的是mybatis的话 如果你的mapper.xml和mapper.java在cn.java2016.mapper包下,在启动类上加@MapperScan("cn.java2016.mapper"),配置mapper文件扫描器
...
@MapperScan("cn.java2016.mapper") // 扫描所有的mapper文件, 不能指定到包名,否则报错
public class App extends WebMvcConfigurerAdapter{
...
SpringBoot简单使用相关推荐
- SpringSecurity使用SpringBoot简单使用
SpringSecurity使用SpringBoot简单使用(一) 先来回顾下最开始我们不用框架时是怎么做认证授权的, 1.不用框架认证流程 1.客户端发送请求,controller层将请求对象封装成 ...
- SpringBoot 简单实现仿CAS单点登录系统
SpringBoot 简单实现仿CAS单点登录系统 新境界开源开源SSO项目介绍 新境界开源SSO项目实现原理大致如下: 新境界开源SSO项目登录流程介绍 新境界开源SSO项目授权登录流程介绍 新境界 ...
- SpringBoot简单整合沙箱支付
SpringBoot简单整合沙箱支付 操作步骤: 下载官方demo 配置 AlipayConfig相关信息 SpringBoot项目创建 解压官方demo,导入项目 业务代码编写 测试运行 相关注意事 ...
- Springboot简单练手的记账本
Springboot简单练手的记账本 昨天看雷哥的教程写了个简单的记账本练练手,没有把笔记整理下来放在博客上,今天补上.言归正传,进入正题. 老规矩,我们还是先看看项目的目录结构,以及登陆界面 每个包 ...
- Springboot简单应用
一直用SpringMVC+Spring开发,虽然用了这么久,但对里面繁琐的配置还是很头疼,这种情况改用Springboot,无疑是个很好的选择.废话不多说,直接介绍自己如何使用的,在这之前还是有必要介 ...
- Shiro和SpringBoot简单集成
Shiro是一种简单的安全框架,可以用来处理系统的登录和权限问题. 本篇记录一下Spring Boot和Shiro集成,并使用Jwt Token进行无状态登录的简单例子. 参考Demo地址,此Demo ...
- springBoot 简单优雅是实现文件上传和下载
前言 好久没有更新spring Boot 这个项目了.最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来.刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架 ...
- Springboot简单介绍
Springboot入门介绍 一.Spring框架概述 1.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...
- Vue+Mysql+SpringBoot简单增删改查
关于Spring篇 关于mybatis+maven基本知识掌握总结 maven中spring+springmvc+mybatis整合详细配置 SpringBoot+Mybatis+Redis基础配置 ...
- SpringBoot简单项目搭建,从数据读取数据展示到页面
springboot快速搭建web项目,无需繁琐xml配置,热部署,无需重启服务器,简单部署只需打jar包即可,有很多的优点! 刚接触到springboot花费了好几个小时,撸完一个又一个的配置坑,最 ...
最新文章
- 使用blas做矩阵乘法
- 无服务器-仅仅是构建现代应用程序的一种方法?
- linux命令date的功能,Linux 命令date
- Qt图形界面编程入门(信号和槽通信机制)
- (51)多路时钟复用概述
- zabbix系列(二):zabbix agent(Host配置)
- 如何开好一个软件类周会和周报
- P2P-JXTA学习(1)-入门
- 光大银行引入USB Server实现虚拟机调用Ukey
- 想做产品经理,产品经理培训靠谱吗?
- Javascript --- 模板引擎
- 劲爆!群晖docker视频
- 十年后相遇,才解开了当初的误会
- 初一计算机课程表,初中课程表空白表格
- python使用seek函数报错:io.UnsupportedOperation: can't do nonzero end-relative seeks
- 【读文献笔记】图神经网络加速结构综述
- 硬核小知识,网络管理员的技术职业规划《一》
- Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?
- vulnhub Hacker Fest 2019 记录
- 经方败案群9月底黎德育讲颈椎病的治疗