【SpringBoot】

十三、Spring Boot 开发者工具

使用开发者工具包不需要重启。监听内容改变。

1、在pom.xml中添加依赖


<dependency>


2、设置IDEA自动编译

菜单 File --> settings


java Date类型模糊匹配 java模糊匹配文件名_java打包jar


3、修改Registry

Ctrl+Shift+Alt+/ 点击弹出框中Registry...


java Date类型模糊匹配 java模糊匹配文件名_java Date类型模糊匹配_02


勾选


java Date类型模糊匹配 java模糊匹配文件名_springboot获取项目根目录_03


十四、Spring Boot项目打包部署

SpringBoot项目可以是jar类型的maven项目,也可以是一个war类型的maven项目,取决于我们要不要整合jsp使用。但是不管 是哪种项目类型,已经不是我们传统意义上的项目结构了,在本地使用SpringBoot的启动器即可 访问我们开发的项目。如果我们将项目功能开发完成后,需要使用SpringBoot的打包 功能来将项目进行打包。

SpringBoot项目打包在linux服务器中运行:

① jar类型项目会打成jar包:

jar类型项目使用SpringBoot打包插件打包时,会在打成的jar中内置一个tomcat 的jar。所以我们可以使用jdk直接运行该jar项目即可,jar项目中有一个功能, 将功能代码放到其内置的tomcat中运行。我们直接使用浏览器访问即可。

② war类型项目会打成war包:

在打包时需要将内置的tomcat插件排除,配置servlet的依赖。

将war正常的放到tomcat服务器中运行即可。

十五、SpringBoot项目打包插件

必须保证项目中包含SpringBoot打包插件。pom.xml中检查


<build>


十六、 SpringBoot项目打包成jar包

点击IDEA右侧Maven -- > Lifecycle --> install


java Date类型模糊匹配 java模糊匹配文件名_java打包jar_04


打包后的内容出现在target根目录


java Date类型模糊匹配 java模糊匹配文件名_java Date类型模糊匹配_05


1、运行jar包项目

① 在本地windows系统中运行

把此jar粘贴到任意目录,示例粘贴到D根目录下

启动windows命令行。依次输入:

# d:

# java-jar 文件名.jar

也可以新建一个批处理文件,例如:run.bat,在文件中添加


java Date类型模糊匹配 java模糊匹配文件名_springboot获取项目根目录_06


② 部署到linux

和windows步骤一样。把jar上传到linux后放入到任意目录中,进入到jar所在目录 后执行java -jar 文件.jar 就可以运行。

也可以在jar所在文件夹中新建一个文件,执行运行文件。

# vim startup.sh

文件中输入java -jar 文件.jar

# chmod a+x startup.sh

# ./startup

2、SpringBoot项目打包成war包

① 如果我们当前的maven项目本身就是war类型的项目,直接打包即可。但是如果我们当前的maven项目是jar类型的项目,我们需要将项目修改为war类型,修改项目的pom文件,使用packaging标签设置值为war,并且需要在项目中创建webApp文件夹,并设置为资源文件夹。


java Date类型模糊匹配 java模糊匹配文件名_springboot打war包_07


② 在SpringBoot的pom文件中将web启动器中的tomcat依赖排除,因为我们打包的war项目要放在自己的tomcat服务器中运行,需要排出SpringBoot项目内置的tomcat。然后再手动的将tomcat插件依赖过来,并设置其scope值为provided。


<!--配置SpringBoot的web启动器-->


③ SpringBoot的启动类继承SpringBootServletInitializer,并重写configure


@SpringBootApplication


④ 使用install命令打包项目,并将war包放到tomcat下的webapps下,启动tomcat即可。


java Date类型模糊匹配 java模糊匹配文件名_springboot获取项目根目录_08


⑤ 如果我们使用的是tomcat7则需要将javax.el-api-3.0.0.jar包放到tomcat下的lib目录中。

十七、异常显示页面

默认情况,Spring Boot项目错误页面如下。


java Date类型模糊匹配 java模糊匹配文件名_java Date类型模糊匹配_09


当项目实际上线,如果给用户显示这个页面就不是很友好。当系统出现异常时应该给用户显示更加友好的错误页面。

1、设置具体的状态码页面

在templates/下新建error文件夹,在error中新建:状态.html的页面。例如当出现500时显示的页面为500.html

2、使用x进行模糊匹配

当出现5开头状态码的错误时,显示页面可以命名为5xx.html

当出现50开头状态码的错误时,显示页面可以命名为50x.html

3、统一错误显示页面

在templates下新建error.html。如果项目中不存在具体状态码的页面或没有使用x成功匹配的页面时,显示error.html作为错误显示页面。

十八、异常处理机制

在Spring Boot项目中除了设置错误页面,还可以通过注解实现错误处理。

常见方式如下:

① 在控制器类中添加一个方法,结合@ExceptionHandler。但是只能对当前控制器中方法出现异常进行解决。

② 新建全局异常类,通过@ControllerAdvice结合@ExceptionHandler。当全局异常处理和局部处理同时存在时,局部生效(就近原则)

1、通过@ExceptionHandler注解处理异常

修改Controller


@Controller


2、通过@ControllerAdvice与@ExceptionHandler注解处理异常

创建全局异常处理类


/**


3、通过SimpleMappingExceptionResolver对象处理异常

创建全局异常处理类


/**


4、通过自定义HandlerExceptionResolver对象处理异常

创建全局异常处理类


/**