zoukankan      html  css  js  c++  java
  • Spring学习之路-SpringBoot简单入门

      简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架。

      学习来源是官方文档,虽然很详细,但是太墨迹了…

      地址:https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#boot-documentation

      

      我是配合maven来学习的,所以首先是pom.xml的配置,根据官方文档如下:

    pom.xml

      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
      </parent>
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <optional>true</optional>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>

      稍微解释下:

      spring-boot-starter-web会自动引入一些web相关的spring框架,包含tomcat、springframework等等

      spring-boot-devtools相当于webpack中的热重载,可以快速更新资源并在应用中得到响应。

      parent、plugins这两个忘了,反正对我这种菜鸟来说,引入就没错

      接下来是启动一个简单的HelloWorld程序,不按照官网的example来了,直接上最终版:

    @SpringBootApplication
    public class Application{
        public static void main(String[] args) {
            SpringApplication app = new SpringApplication(Application.class);
            app.run(args);
        }
    }

      执行该文件后,会启动一个服务器,默认端口8080,打开后会显示一个默认的error页面,如图所示:

     

      这里的@SpringBootApllication注解用在主入口函数上,是三个注解的合体:@Configuration@EnableAutoConfiguration and @ComponentScan

      因为这三个注解一般都是成套出现,所以SpringBoot把他们合成了一个。

      这个只需要关注@ComponentScan注解,这个注解的意思是会对目录下所有的文件进行扫描,功能类似于beans.xml中的:

        <context:component-scan base-package="project"/>

      是的,在主入口函数用了这个注解,连xml文件都省了。

      

      刚才打开的是一个默认的error页面,可以通过配置Controller来处理request请求:

    @RestController
    public class web {
        @RequestMapping("/")
        String Home(){
            return "<h1>Home Page!!!</h1>";
        }
        @RequestMapping("/Jimmy")
        String Jimmy(){
            return "<h1>Jimmy Page!!!</h1>";
        }
    }

      新建一个java文件,然后代码如上所示,此时打开localhost:8080,会看到:

      如果将连接改成localhost:8080/Jimmy,会看到:

      也就是说,该类被注解为一个Servlet类,用来处理各种请求。而@RequestMapping注解表明请求路径,里面还可以指明method,这里就不做演示了。

      有时候并不希望主页通过这样的方法输出,也可以自定义一个html页面作为首页展示。

      SpringBoot默认会自动扫描/static (or /public or /resources or /META-INF/resources路径下的静态资源,然后将其中的index.html作为首页。

      当然也可以通过自定义路径来指定静态资源路径,这里就演示下 默认扫描:

      

      目录结构如图,最重要的是建一个文件夹,名称为上面列出来的默认项之一,然后往里面丢一个index.html,重启后打开主页可见:

      上面的自定义错误页面比较丑,SpringBoot可以自定义404页面,方式也很简单,在public中新建一个error文件夹,里面放404.html,当出现404错误时,会自动扫描该文件夹下的该页面,如图:

      

      至此,基本的功能都差不多了,官方文档还有很多杂七杂八的,目前也用不上。

      后面还有两章讲SpringBoot与Mysql、Nosql的连接使用,因为暂时没有学数据库,所以跳过。

      完事。

  • 相关阅读:
    Objective-C NSFileManager 文件管理总结
    ScrollView在RelativeLayout失效问题
    解决myeclipse中struts2 bug问题包的替换问题
    SOA究竟是个啥
    Flash--元件和实例
    MyEclipse中加入web项目到tomcat
    [C]if (CONDITION)语句中CONDITION的情况
    GTK经常使用控件之笔记本控件( GtkNotebook )
    org.apache.solr.handler.dataimport.DataImportHandlerException: Data Config problem: 对实体 &quot;characterEn
    Android自动测试之Monkey工具
  • 原文地址:https://www.cnblogs.com/QH-Jimmy/p/7850387.html
Copyright © 2011-2022 走看看