SpringBoot项目(博客网)(一)——项目搭建
作者想说的话
本篇作品为自己为了学业所做作业,如果有帮助到你,一起加油。如果有什么说错的,因为本人也没查什么资料,纯凭自我理解的,还请见谅。另外本次环境配置搭建,有很多奇奇怪怪的问题,记得好好看每一步。
环境配置要求
1、IDEA(本人用的是2019.2,大家可下载别的新版本)
2、JDK1.8(推荐用此版本)
3、Navicat for MySQL
下载链接:https://pan.baidu.com/s/1uXImn-3UrE4TVEAXzq67MA
提取码:j2fd
4、MySQL Server(这边是用的是5.7.10,最好版本号是5开头)
具体上述软件的安装使用配置,我发布的前面几篇文章内有,可以去查阅。
所需文件下载
下载链接:
https://pan.baidu.com/s/1khZsdJ0cSJdTo9x3GvX6zg
提取码:spoy
(内含阿里云配置settings文件、博客网页设计文件夹static、博客Html文件夹templates)
前期项目准备
前期项目准备主要是搭建阿里云服务器,使得项目依赖包加载快。
打开.m2所在的文件路径,具体路径应该大家都是这个。若在levoe文件夹下未找到.m2文件夹,可新建一个文件夹。
settings.xml在资源下载那边,下载解压后可看到。
创建项目
1、创建SpringBoot项目
项目初始化失败
解决方法:
进入到IDEA的setting 搜索 HTTP Proxy 选择Auto-detect proxy settings 点击最下面的Check connection弹出如下的输入框,输入地址https://start.spring.io点击ok,如果弹出successful证明连接成功,则可重新生成项目。
2、将网页文件导入项目
将下载文件解压后,将对应的两个文件夹内的所有东西复制粘贴到项目对应文件夹内。
3、修改application配置文件
代码如下:
spring:
thymeleaf:
mode: HTML
profiles:
active: dev
4、创建application-dev配置文件
代码如下:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
jpa:
hibernate:
ddl-auto: update
show-sql: true
logging:
level:
root: info
com.zr0707.test07: debug
file:
name: log/blog-dev.log
5、创建文件
6、ControllerExeptionHandler异常抛出文件编写
代码如下:
package com.test.springdemo.handler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
//此文件为配置异常错误的java类,使得错误能够显示
@ControllerAdvice
public class ControllerExeptionHandler {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@ExceptionHandler(Exception.class)
public ModelAndView exceptionHandler(HttpServletRequest request, Exception e) throws Exception {
logger.error("Request:URL: {} , Exception : {}", request.getRequestURL(), e);
if (AnnotationUtils.findAnnotation(e.getClass(), ResponseStatus.class) != null) {
throw e;
}
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("url", request.getRequestURI());
modelAndView.addObject("exception", e);
modelAndView.setViewName("error/error");
return modelAndView;
}
}
7、IndexController初始页面设置文件编写
package com.test.springdemo.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
//此注解为让系统知道这是个Controller实现类
@Controller
public class IndexController {
//GetMapping意为地址栏输入什么时进行的操作
@GetMapping("/")
public String index() {
return "index"; //return "index" 即为跳转至初始页面index页面,因为SpringBoot是从templates文件夹开始获取html地址
}
//此注解为,当初始地址后输入/blog地址,则进行页面跳转
@GetMapping("/blog")
public String blog() {
return "blog";
}
}
8、NotFoundException类编写
代码如下:
package com.test.springdemo;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(HttpStatus.NOT_FOUND)
public class NotFoundException extends RuntimeException{
public NotFoundException(){
}
public NotFoundException(String message){
super(message);
}
public NotFoundException(String message,Throwable cause) {
super(message, cause);
}
}
运行结果
到此SpringBoot项目初步完成搭建。