博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot简单使用
阅读量:6969 次
发布时间:2019-06-27

本文共 4876 字,大约阅读时间需要 16 分钟。

在漫长的java应用程序开发过程中,笨重的开发框架渐渐的不受人待见,取而代之的将是越来越自动化,越来越轻量级的框架。

学过java的人都应该知道,目前最流行的SSM组合,SpringSpringMVCMybatis。这三个框架要想组合在一起,需要编写大量的配置文件,而且这一过程使得整个项目开发在一开始就变得又臭又长。如此一来,对一个全自动化,不需要用户输入任何配置的智能框架的需求就变得格外重要了。于是乎,spring的作者就为我们开发者带来了福音 -> spring boot
spring boot并不是一个全新的框架,而是对目前所有流行框架和库的一种整合,jar包管理有了Maven,今后框架的管理也有了Spring Boot

  • 第一步创建Maven工程
  • 在pom.xml中加入如下配置
org.springframework.boot
spring-boot-starter-parent
1.4.4.RELEASE
1.8
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
org.apache.tomcat.embed
tomcat-embed-jasper
provided
javax.servlet
jstl
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.2
复制代码
  • 创建一个启动类
package cn.java2016.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic 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;@Controllerpublic 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-8spring.http.encoding.enabled=truespring.http.encoding.force=trueserver.tomcat.uri-encoding=UTF-8复制代码
  • 数据库连接配置,这里需要mysql驱动的依赖
spring.datasource.url=jdbc:mysql:///boot_crm?characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=123spring.datasource.driver-class-name=com.mysql.jdbc.Driver复制代码
  • 我们在分页会用到的分页配置,这里需要配置pagehelper的依赖
pagehelper.helper-dialect: mysqlpagehelper.reasonable: truepagehelper.support-methods-arguments: truepagehelper.params: count=countSql复制代码

pagehelper在spring boot中的用法

// 开始分页,第一个参数表示要查第几页,第二个参数表示一页有多少条数据Page page = PageHelper.startPage(pageNum, 15);// 这里写查询语句,如:查询所有customer表中的数据List
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{	@Override	public void addInterceptors(InterceptorRegistry registry)	{	    // /** 表示拦截多层请求,如 /a/b/c/, 而 /* 只拦截一层请求,如: /a		registry.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 {...复制代码

转载地址:http://ubssl.baihongyu.com/

你可能感兴趣的文章
Hbase/HbaseRest
查看>>
设置ToggleButton、Switch、CheckBox和RadioButton的显示效果
查看>>
Bootstrap 页面标题(Page Header)
查看>>
SVN版本还原
查看>>
使用SpringMVC创建支持向下兼容的版本化的API接口
查看>>
Chrome 显示 err_cert_authority_invalid 的处理方式
查看>>
简单理解倒排索引
查看>>
SpringAop在实际项目中的使用案例
查看>>
哪个对象才是锁?
查看>>
this关键字
查看>>
Python中字符串和datetime
查看>>
ng-Cordova插件之fileTransfer的使用
查看>>
基于struts1.框架的异常处理方案
查看>>
浅谈 Qt 内存管理
查看>>
【Qt】Qt之密码框不可选中、复制、粘贴、无右键菜单等【转】
查看>>
Flume中关于HDFS的sink配置
查看>>
Idea 社区版开发指南-1
查看>>
date命令转换unix时间戳
查看>>
/usr/lib目录属性更改引发的蝴蝶效应
查看>>
比禅道好用的项目管理 项目管理工具Redmine 各功能测试
查看>>