• SpringBoot入门(1)


    一、初始

      ①、首先还是要创建一个maven工程

      ②、然后编写Controller

      让SpringBoot跑起来并不需要太多的代码,就能实现了我们平时要配置很多的功能,这是怎么做到的呢?我们就下面一个入门类,做一个解释。

     1 @RestController//注解:其实就是@Controller和@ResponseBody注解加在一起
     2 //@Controller//告诉spring这个类是控制器
     3 @EnableAutoConfiguration//开启自动配置
     4 @RequestMapping(value = "/user")//配置请求路径
     5 public class UserController {
     6     /**
     7      * Get请求
     8      * 输出JSON
     9      */
    10     //@ResponseBody//该方法的返回结果直接写入 HTTP response body 中,比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。
    11     @RequestMapping(value = "/list",method = RequestMethod.GET)//请求路径和声明过来的是get请求
    12     public Map<String, Object> user(){
    13         HashMap<String, Object> dataMap = new HashMap<String, Object>();
    14         dataMap.put("username","贱小提莫");
    15         dataMap.put("userage","18");
    16         return dataMap;
    17     }
    18 
    19     public static void main(String[] args){
    20         //SpringBoot 里面的方法,把当前对象给SpringBoot去托管,运行(自带tomcat)
    21        //和springmvc不一样的地方,还要注意一个是 在上面加上自动配置的注解
    22         SpringApplication.run(UserController.class);
    23     }
    24 }

      然后run,就跑起来了

     

    二、相关注解和方法说明

      代码里面其实也有写相应的注释,但是在这边就再详细的说一下

    @RestController

      这里我们先进入它的源码,发现

        

      它上面加了@Controller和ResponseBody注解,说明它同时拥有这2注解的功能,@Controller注解表示后,该类将会被spring管理,@ResponseBody注解标识后,响应数据可以是文本或者JSON数据类型。所以这里我们return map的时候,可以直接输出JSON数据。当然@RestController注解属于springmvc的,并不属于springboot的。

    @EnableAutoConfiguration注解

      这个注解告诉 SpringBoot 根据添加的 jar 依赖,猜测你会如何配置 Spring 。在Idea打开jar包的依赖关系图我们可以发现 spring-boot-starter-web 下添加了 Tomcat 和 SpringMVC,所以auto-configuration 将假定你正在开发的一个web应用并相应的对spring进行设置。

    main方法

      我们的 main 方法通过调用 run,将业务委托给了 SpringBoot 的 SpringApplication类。SpringApplication 将引导我们的应用,启动 Spring,相应的启动被自动配置的 Tomcat web 服务器。我们需要 Example.class 作为参数传递给 run 方法来告诉SpringApplication谁是主要的 Spring 组件。

    三、关于 SpringBoot 的启动

      上面的例子,我们是把 main 方法,写到了 UserController 这个类里面,但是有时候我们要加载更多的一些类和方法呢。—— 在它们的上级文件夹中写一个 AppMain,作为一个启动类。(不在上级文件夹也可以,在@Componentscan这个注解后面指定扫描的包名(value=“com.zbb”))

     1 package com.zbb;
     2 
     3 ...
     4 
     5 @Configuration
     6 @EnableAutoConfiguration
     7 @ComponentScan
     8 public class AppMain {
     9     public static void main(String[] args){
    10         SpringApplication.run(AppMain.class);
    11     }
    12 }

      可以看到,这里的包名是 “com.zbb” , 而 UserController 我们是放在了 “com.zbb.controller” 里面。依然能启动成功,并且访问成功“/user/list”的方法。

  • 相关阅读:
    Mac下启动Apache
    Mac OS X中配置Apache
    catransition type
    Block
    mysql 复制表结构和表数据的区别 like 和 select
    mysql kill掉所有的锁表的进程 未验证
    MySQL所有函数及操作符
    linux各种复制命令
    Mac mysql 导入导出数据库
    数据库总结
  • 原文地址:https://www.cnblogs.com/sun7897/p/8651433.html
Copyright © 2020-2023  润新知