• [Spring入门学习笔记][Spring Boot]


    什么是Spring Boot

    Spring Boot正是在这样的一个背景下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

    第一个Spring Boot应用

    传统基于Spring的Java Web应用,需要配置web.xml, applicationContext.xml,将应用打成war包放入应用服务器(Tomcat, Jetty等)中并运行。如果基于Spring Boot,这一切都将变得简单:

    以Maven项目为例,项目结构如下:

    src/
      main/
        java/
            Application.java
    pom.xml

    首先引入Spring Boot的开发依赖:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.5.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    编写一个类包含处理HTTP请求的方法以及一个main()函数:

    @SpringBootApplication
    @Controller
    public class Application {
        @RequestMapping("/")
        @ResponseBody
        public String index() {
            return "Hello!";
        }
        public static void main(String[] args) {
            SpringApplication.run(Appication.class, args);
        }
    }

    启动main函数后,在控制台中可以发现启动了一个Tomcat容器,一个基于Spring MVC的应用也同时启动起来,这时访问http://localhost:8080就可以看到Hello World!出现在浏览器中了。

    代码详解

    • main() 方法启动了一个HTTP服务器程序,这个程序默认监听8080端口,并将HTTP请求转发给我们的应用来处理
    • @Controller注解表示Application类是一个处理HTTP请求的控制器,该类中所有被@RequestMapping注解的方法都会用来处理URL请求
      package com.tmy;

      @SpringBootApplication
      @Controller
      public class Application {
          @RequestMapping("/")
          @ResponseBody
          public String index() {
              return "Hello!";
          }
          @RequestMapping("/soga")
          @ResponseBody
          public String index2() {
              return "hahahahaha!";
          }
          public static void main(String[] args) {
              SpringApplication.run(Application.class, args);
          }
      }
      访问http://lochost:8080/时输出Hello!
      访问http://lochost:8080/soga时输出hahahaha!
    • index()方法上包含@RequestMapping("/")注解,意味着在浏览器中访问http://localhost:8080/(不考虑协议、host和port信息后的路径为”/”)后浏览器发送的请求会交给该方法进行处理

    • index()方法直接返回一个字符串,同时也被@ResponseBody注解,那么相当于直接将字符串”Hello World”作为HTTP请求的响应返回给浏览器,于是我们在浏览器中可以看到相应的返回值。
    • index2()同理
  • 相关阅读:
    [Java] xms xmx XX:PermSize XX:MaxPermSize 参数意义解析
    [Java][Weblogic] weblogic.net.http.SOAPHttpsURLConnection incompatible with javax.net.ssl.HttpsURLConnection解决办法
    [Eclipse] Eclipse字体问题解决
    [Outlook] 重新取得outlook中被禁止访问的文件
    [WebService] the namespace on the "definitions" element, is not a valid SOAP version
    [Outlook] outlook如何实现自动CC和BCC邮件发送
    [架构] 分布式和集群的区别
    [Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】
    [Linux] 解压tar.gz文件,解压部分文件
    从尾到头打印链表(C++和Python 实现)
  • 原文地址:https://www.cnblogs.com/zy691357966/p/5480255.html
Copyright © 2020-2023  润新知