在漫长的java应用程序开发过程中,笨重的开发框架渐渐的不受人待见,取而代之的将是越来越自动化,越来越轻量级的框架。
学过java的人都应该知道,目前最流行的SSM组合,SpringSpringMVCMybatis。这三个框架要想组合在一起,需要编写大量的配置文件,而且这一过程使得整个项目开发在一开始就变得又臭又长。如此一来,对一个全自动化,不需要用户输入任何配置的智能框架的需求就变得格外重要了。于是乎,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简单使用相关推荐

  1. SpringSecurity使用SpringBoot简单使用

    SpringSecurity使用SpringBoot简单使用(一) 先来回顾下最开始我们不用框架时是怎么做认证授权的, 1.不用框架认证流程 1.客户端发送请求,controller层将请求对象封装成 ...

  2. SpringBoot 简单实现仿CAS单点登录系统

    SpringBoot 简单实现仿CAS单点登录系统 新境界开源开源SSO项目介绍 新境界开源SSO项目实现原理大致如下: 新境界开源SSO项目登录流程介绍 新境界开源SSO项目授权登录流程介绍 新境界 ...

  3. SpringBoot简单整合沙箱支付

    SpringBoot简单整合沙箱支付 操作步骤: 下载官方demo 配置 AlipayConfig相关信息 SpringBoot项目创建 解压官方demo,导入项目 业务代码编写 测试运行 相关注意事 ...

  4. Springboot简单练手的记账本

    Springboot简单练手的记账本 昨天看雷哥的教程写了个简单的记账本练练手,没有把笔记整理下来放在博客上,今天补上.言归正传,进入正题. 老规矩,我们还是先看看项目的目录结构,以及登陆界面 每个包 ...

  5. Springboot简单应用

    一直用SpringMVC+Spring开发,虽然用了这么久,但对里面繁琐的配置还是很头疼,这种情况改用Springboot,无疑是个很好的选择.废话不多说,直接介绍自己如何使用的,在这之前还是有必要介 ...

  6. Shiro和SpringBoot简单集成

    Shiro是一种简单的安全框架,可以用来处理系统的登录和权限问题. 本篇记录一下Spring Boot和Shiro集成,并使用Jwt Token进行无状态登录的简单例子. 参考Demo地址,此Demo ...

  7. springBoot 简单优雅是实现文件上传和下载

    前言 好久没有更新spring Boot 这个项目了.最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来.刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架 ...

  8. Springboot简单介绍

    Springboot入门介绍 一.Spring框架概述 1.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...

  9. Vue+Mysql+SpringBoot简单增删改查

    关于Spring篇 关于mybatis+maven基本知识掌握总结 maven中spring+springmvc+mybatis整合详细配置 SpringBoot+Mybatis+Redis基础配置 ...

  10. SpringBoot简单项目搭建,从数据读取数据展示到页面

    springboot快速搭建web项目,无需繁琐xml配置,热部署,无需重启服务器,简单部署只需打jar包即可,有很多的优点! 刚接触到springboot花费了好几个小时,撸完一个又一个的配置坑,最 ...

最新文章

  1. 使用blas做矩阵乘法
  2. 无服务器-仅仅是构建现代应用程序的一种方法?
  3. linux命令date的功能,Linux 命令date
  4. Qt图形界面编程入门(信号和槽通信机制)
  5. (51)多路时钟复用概述
  6. zabbix系列(二):zabbix agent(Host配置)
  7. 如何开好一个软件类周会和周报
  8. P2P-JXTA学习(1)-入门
  9. 光大银行引入USB Server实现虚拟机调用Ukey
  10. 想做产品经理,产品经理培训靠谱吗?
  11. Javascript --- 模板引擎
  12. 劲爆!群晖docker视频
  13. 十年后相遇,才解开了当初的误会
  14. 初一计算机课程表,初中课程表空白表格
  15. python使用seek函数报错:io.UnsupportedOperation: can't do nonzero end-relative seeks
  16. 【读文献笔记】图神经网络加速结构综述
  17. 硬核小知识,网络管理员的技术职业规划《一》
  18. Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?
  19. vulnhub Hacker Fest 2019 记录
  20. 经方败案群9月底黎德育讲颈椎病的治疗

热门文章

  1. android studio运行时报错the selected device is incompatible
  2. linux - command - iftop
  3. fscanf()函数具体解释
  4. 如何让Linux禁止Ctrl+Alt+Del重启(防止被强行关闭)     erikxue 薛忠权
  5. HttpServletRequest应用(转)
  6. ARTS打卡计划第四周-ALGORITHM
  7. 第四节 莎士比亚模板
  8. MyBatis 实践 -配置
  9. 《易学Python》——1.8 总结
  10. 微信小程序实例开发教程之知乎新闻