1. 安装JDK, idea, maven, tomcat
2. 在 idea 配置 maven:
点击【File】>【Settings】>搜索【Maven】,按截图配置安装目录和选择刚刚 settings 配置文件;
选择完settings之后,本地仓库自动改成settings文件中配置的;点击apply,再点击ok即配置完成。
第一步:新建 Spring Initializr 项目:
(1)选择 Spring Initializr
(2)选择 SDK,点击【new】这里就是使用 JAVA SDK 要求版本 1.8+,选择你默认安装在 C:\Program Files\Java\jdk1.8.0_191 目录:
(3)然后选择默认的 url (不用管)点击【Next】:
(4)然后填写一下项目的信息:
(5)先勾选上 Web 依赖:
(6)勾选 SQl 下的 MySQL,MyBatis 依赖:
(根据自己的项目选择,后面可加)
(7)选择好项目的位置,点击【Finish】:
(7)如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包,默认创建好的项目结构如下:
项目结构还是看上去挺清爽的,少了很多配置文件,我们来了解一下默认生成的有什么:
第二步:HelloController
在 【main/java/com.xpwi.springboot】包下新建一个【HelloController】:
package com.xpwi.springboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 测试控制器
*
* @author: @肖朋伟CSDN
* @create: 2018-11-18
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot!";
}
}
#应用名称
spring.application.name=springboot-demo
#访问端口号
server.port=8080
#访问根目录
server.servlet.context-path=/
#编码格式
#server.tomcat.uri-encoding=utf-8
#数据库相关配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/firstdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
#session生命周期
server.servlet.session.timeout=30m
第三步:利用 IDEA 启动 Spring Boot
(1)我们回到 SpringbootApplication 这个类中,然后右键点击运行:
(2)会提示 Maven 导包,点击 import
(3)注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat
等待一会儿就会看到下方的成功运行的提示信息:
(4)此时,可以看到我们的 Tomcat 运行在 8080 端口,我们来访问下面地址试一下:
http://localhost:8080/hello
-----------------------------------------------------------------------------------------------------------------------
创建包controller、entity、mapper、service。resources下创建mapping文件夹,用于写sql语句,也可以用注解的方式直接写在mapper文件里。下面直接贴代码
数据库表结构(之前小项目的表,直接拿来用)
CREATE TABLE `user` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`userName` varchar(32) NOT NULL,
`passWord` varchar(50) NOT NULL,
`realName` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
entity.java
package com.example.entity;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 14:39
*/
public class User {
private Integer id;
private String userName;
private String passWord;
private String realName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
", realName='" + realName + '\'' +
'}';
}
}
UserController.java
package com.example.controller;
import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 14:42
*/
@RestController
@RequestMapping("/testBoot")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("getUser/{id}")
public String GetUser(@PathVariable int id){
return userService.Sel(id).toString();
}
}
UserService.java
package com.example.service;
import com.example.entity.User;
import com.example.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 15:23
*/
@Service
public class UserService {
@Autowired
UserMapper userMapper;
public User Sel(int id){
return userMapper.Sel(id);
}
}
UserMapper.java
package com.example.mapper;
import com.example.entity.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 15:20
*/
@Repository
public interface UserMapper {
User Sel(int id);
}
UserMapping.xml
完成以上,下面在启动类里加上注解用于给出需要扫描的mapper文件路径@MapperScan("com.example.mapper")
package com.example;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.example.mapper") //扫描的mapper
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
另外还要记得在 application.properties文件中 添加如下配置(如果是 .yml 文件配置内容一样只是格式不一样)
以下文件内容仅供参考,目录和项目名称要根据自己的实际情况进行配置
spring.application.name=springboottest06
server.port=8081
server.servlet.context-path=/cn
#server.tomcat.uri-encoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db01?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
server.servlet.session.timeout=30m
mybatis.mapper-locations=classpath:mapping/*.xml
mybatis.type-aliases-package=cn.springboottest.springboottest06.mapper
另外建议将 UserMapper.java 与 UserMapper.xml 都放在mapper文件夹(包)下,这样application.properties的后面两行就不用配置了,而且可读性更好。
修改pom.xml文件,在pom.xml的
最后启动,浏览器输入地址看看吧:http://localhost:8080/testBoot/getUser/1
测试成功,就这样基本框架就搭建成功了
1.在pom文件中的
war
2.在pom下移除springboot自带的tomcat插件
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
如下图:
3.添加server-api依赖,(此时运行会报错,把
javax.servlet
javax.servlet-api
3.1.0
provided
4.修改启动类
@SpringBootApplication
public class GuangdongApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(GuangdongApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(GuangdongApplication.class, args);
}
}
5.点击菜单栏的=Bulid-Bulid Project
6.点击View勾选Tool Buttoms
7.点击右边侧边的Maven按钮- package
在 package上点击右键 --> Run Maven Build 将会在target下生成 .war 包如下图
8.当控制栏下出现BUILD SUCCESS说明打包成功
9.在target目录下即可找到生成的war包
10.war包可任意命名,然后放到tomcat目录下的webapps目录下即可部署
注意部署后要用以下连接访问(实际根据你的.war包名称来)