运用springboot搭建并部署web项目

前言

一直以来都是用springmvc+mybatis进行后端接口开发工作,最近闲来无事,根据现有功能需求,用springboot+mybatis部署一套简单的web项目。

所用工具

IntelliJ IDEA 2018.1.4

JDK 1.8

apache-tomcat-8.0.50

所解决的问题

1、如何用idea创建springboot项目

2、如何进行 服务器、数据库、mybatis、视图解析器的配置

3、如何使用mybatis generator 自动生成代码

4、如何使用multipart进行文件上传

5、如何运用springboot的事务

6、如何打包进行tomcat部署

运用idea创建springboot项目

1、打开IDEA,File -> New -> Project,选择Spring Initializr,然后next。

image.png

2、修改Ariifact,下面的Name、package会自动修改;Packaging有两种模式,一种是Jar,一种是War;因为springboot中自带了tomcat,因此可以将项目打成jar,直接运行;而我现有项目是部署到tomcat上,因此我需要打成war包;然后next。

image.png

3、设置项目依赖,然后next ,进入下一页 ,设置project name,点击finish完成。

image.png

image.png

4、进入项目

image.png

pom.xml

无配置文件的springmvc

通过两个例子:1、http请求访问并渲染页面 2、http请求返回json字符串

-配置数据源、视图渲染

-添加视图渲染pom依赖

-创建WelcomeController、welcome.jsp

新增之后的项目结构

image.png

application.yml 配置数据源 和 视图渲染

pom.xml新增视图渲染依赖

创建WelcomeController

创建welcome.jsp

启动项目,并访问

使用mybatis generator自动生成代码

用于为表创建 *Mapper.xml、model、dao文件

在pom.xml 添加mybatis generator 自动生成代码插件

在上面pom.xml配置的pugin路径resources/generator 文件夹下添加generatorConfig.xml

使用maven中的mybatis-generator:generate根据数据库里面表生产相关的类

Edit Configurations -> 添加 -> Maven

image.png

image.png

image.png

image.png

image.png

配置mybatis

在application.yml 中添加mybatis的配置

在StudentBindingMapper.java中添加 @Repository("studentBindingMapper")注解才能使用@MapperScan扫描到

在SpringbootdemoApplication.java添加@MapperScan

添加service、controller层

项目层级

添加StudentBindingService

添加StudentBindingServiceImpl

新增StudentBindingController

重启项目之后,就可以访问各个接口

springboot配置事务

springboot配置事务有两种方式

1、在SpringbootdemoApplication.java项目入口,添加@EnableTransactionManagement的注解用来开启事务

2、在service实现类上添加@Transactional注解,那么该类的所有方法都进行事务管理;也可以直接在service实现类的方法上直接添加@Transactional注解,那么只对该方法进行事务管理,上面代码中有对方法添加事务的例子

springboot打包进行tomcat部署

Edit Configuration -> Maven -> 添加 ->启动 -> 复制war包 -> tomcat webapp ->修改war包的名字 -> tomcat bin -> startup.bat

如果有任何疑问,欢迎添加qq群测试入门到大神 755431660 共同学习~

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180613A0PAVQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券