springboot学习-搭建第一个springboot应用

后端君 Java笔记虾

准备:

idea2017、jdk1.8、springboot2.0.3

首先,新建工程,选择Spring Initializr,点击next
springboot学习-搭建第一个springboot应用

第二步填写Group及Artifact:
springboot学习-搭建第一个springboot应用

第三步,勾选 Dependencies,选择web:
springboot学习-搭建第一个springboot应用

最后点击下一步,直到完成创建项目,此时可以将我们暂时用不到的文件删除,如图:
springboot学习-搭建第一个springboot应用

项目创建成功,我们运行Bootdemo01Application,可以看到成功启动了默认的8080端口:
springboot学习-搭建第一个springboot应用

但在浏览器输入localhost:8080时会出现错误页面,这是因为我们还没有写任何controller,我们新建一个controller,使得在浏览器上展示一些东西


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
* Created by 57783 on 2018/7/4.
*/
@RestController
public class FristController {

   @RequestMapping(value = "/",method = RequestMethod.GET)
   public String HelloWorld(){
       return "HelloWorld";
   }

}

此时运行Bootdemo01Application,我们可以看到谁浏览器打印出HelloWorld。第一个springboot应用就做好了,搭建确实简便了很多。

几个问题:

1、我们看到controller类的注解为@RestController,那么@RestController和@Controller有什么区别呢?

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。br/>如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
现在都讲前后端分离,传输的都是json,很少用jsp页面了,那@RestController可能用的更多一些。

2、如果8080端口被占用了,我们希望使用别的端口访问怎么办?

工程下resources/application.properties里面加上:server.port=8081即可

3、如何读取配置文件中的信息?

在resources下有一个默认的配置文件application.properties,我们在项目中不使用properties配置文件,而是使用更加方便简洁的yml文件。项目结构:
springboot学习-搭建第一个springboot应用

我们举实例来了解一下读取配置文件数据的方法:
首先,在yml中配置一个用户信息,包含用户名及密码:
server:


  port: 8080
username: xiaozhi
password: 12345

在Controller中使用@Value注解读取该配置信息:
package com.javazhiyin;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
* Created by 57783 on 2018/7/4.
*/
@RestController
public class FristController{

    @Value("${username}")
    private String username;

    @Value("${password}")
    private String password;

    @RequestMapping(value = "/",method = RequestMethod.GET)
    public String HelloWorld(){
        return "用户名:"+username+";"+"密码:"+password;
    }

}

此时,访问localhost:8080,出现如下页面:
springboot学习-搭建第一个springboot应用
们可以看到springboot读取配置文件成功了。