SpringBoot简单入门

SpringBoot简单入门

Spring是一个JavaWeb开发框架,极大的简化开发,降低了对配置文件的要求;能迅速的开发web应用,几行代码就可以开发一个http接口。

1. 创建简单项目

  1. 点击菜单->New->Project->Spring Initalizr 然后点击Next

New Project

  1. 输入如图所示两个地方参数,其他参数一般默认,然后Next

New Project

  1. 接着选择Web,然后勾选Spring Web即可,Next

选择Web

  1. 最后确认一下项目名称和位置即可,点击Finish完成项目创建。
  2. 项目创建好后,自带一个Application,在里面填写如下内容

建立简单映射

  1. 启动Application项目,测试访问。

2. 关于打包问题

通常部署SpringBoot项目可以采用两种方式:全部打包成一个jar包,或者打包成一个war包。

2.1 打包成jar包

使用IDEA的话非常简单,找到右侧侧边栏的maven图标,点击项目生命周期,然后双击install即可,没问题应该显示BUILD SUCCESS

Maven

使用maven的mvn install一样可以,该命令需在项目根目录打开命令行窗口下运行。

该命令会在你项目的target目录下生产一个jar文件,使用命令java -jar yourjarName.jar运行该jar文件即可启动项目。

运行jar

这个jar包里面包含项目的全部文件,以及Tomcat服务器,所以无论放到哪里只要有java环境就可以运行启动项目。

2.2 打包成war包

  1. 修改pom.xml,添加打包类型和依赖
<!-- 打包成war包需加这一行-->
<packaging>war</packaging>

<!-- 打包从war包时需添加此依赖,防止打包冲突-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope> <!-- 表示只在编译和测试过程有效,生成war包不会加入-->
</dependency>
  1. 修改启动类文件,继承SpringBootServletInitializer
@SpringBootApplication
public class HelloDemoApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(HelloDemoApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(HelloDemoApplication.class, args);
    }

}

SpringBoot项目想运行在第三方Tomcat上必须实现SpringBootServletInitializer接口的configure方法才能让外部容器运行。

  1. 使用maven的clean命令,然后使用package命令,就会在target目录下生成.war文件

生成war

  1. 将该文件复制到外部Tomcat的webapps目录下,重命名为ROOT.war,方便访问。

不修改为ROOT,需要加项目名称才可以访问。

部署war

  1. bin目录下点击startup.bat文件,启动项目,测试访问。

运行war

3. 关于Tomcat中文乱码问题

在tomcat的conf文件夹下,打开logging.properties文件,将java.util.logging.ConsoleHandler.encoding = UTF-8修改java.util.logging.ConsoleHandler.encoding = GBK

解决乱码

4. SpringBoot热部署

  1. 在settings中开启Build project automatically,自动构建项目功能。

UTOOLS1583487581224.png

  1. 开启动态自动编译,同时按住Ctrl+Shift+Alt+/,然后点击Registry,勾选如下参数,并配置时间。

UTOOLS1583487512368.png

  1. 开启项目的热部署策略,在项目配置中选择如下选项即可。

UTOOLS1583487836015.png

  1. 项目添加热部署插件,在xml中配置如下。
<!-- 热部署依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional> <!-- true才生效 -->
    <scope>runtime</scope> <!--仅在运行期有效,不参与打包-->
</dependency>
  1. 保险起见,浏览器f12 ✅Disable cache。

5. 关于错误处理

定义一个全局的异常处理器,然后跳转到错误页面

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    public ModelAndView defaultErrorHandler(HttpServletRequest req,Exception e) throws Exception{
        ModelAndView view = new ModelAndView();
        view.addObject("exception",e);
        view.addObject("url",req.getRequestURL());
        view.setViewName("errorPage");
        return view;
    }
}

  转载请注明: Zero的博客 SpringBoot简单入门

 上一篇
趟坑之路-[SpringBoot整合Redis做缓存] 趟坑之路-[SpringBoot整合Redis做缓存]
redis是一个高性能的非关系型内存数据库,通常被用作数据缓存,此文记录了SpringBoot2.x整合Redis做缓存服务器的常规步骤及排错。 本文使用到的环境: OS win10
2020-03-14
下一篇 
OSI7层模型和TCP/IP四层模型简要总结 OSI7层模型和TCP/IP四层模型简要总结
前言关于OSI7层模型相关知识点,以前是总结过一篇文章的,但因为太过详细,显的有些繁琐了,今天复习到计网知识,便重新写一篇精简版的,方便回顾记忆。 1. OSI7层模型和TCP4层模型 1.1 模型各层功能 OSI7
2020-03-02
  目录