SpringBoot - 01 - 第一个Demo

去年就开始学习SpringBoot的样例Demo,以及和各个框架的配合。

虽然工作中用不到,但这个框架还是非常有用的。

最近想了想,不能落下,所以在GitHub上面创建了项目,专门用来存放自己学习中的SpringBoot的项目。

项目地址:SpringBoot-SpringCloud GitHub项目地址

项目同时打包上传优快云:01-SpringBoot-Demo

好了,开始第一个HelloWorld项目。


使用IDEA 创建SpringBoot 项目这个步骤,这里不在多说,网上去找找,还是很多的。

SpringBoot项目创建好了之后,会自动帮你创建一个Application类,这个是SpringBoot的启动类。

然后写一个自定义Controller类。

package com.server.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * HelloWorld-Controller-测试
 *
 * @author CYX
 * @create 2018-07-01-20:09
 */
@Controller
public class HelloWorldController {

    public static final Logger logger = LoggerFactory.getLogger(HelloWorldController.class);

    @RequestMapping(value = "/sayHello", method = RequestMethod.GET)
    public String sayHello() {

        logger.info("-----");

        return "Hello Spring Boot";
    }

}

按照之前写SpringMVC的习惯,在类上习惯性的加上@Controller注解。

配置一下application.properties

#日志设置
logging.file=./log/01-springboot-demo.log
logging.level.root=info

然后就可以直接运行main方法了。


项目运行了。

使用Postman,测试一下。


结果又点意外,竟然是404。

看下控制台的日志:


已经进入到controller类方法中了...为啥会是404呢...


上网查了一把,原来是类上@Controller注解的问题。

将@Controller改为@RestController就可以了,重新发布一下程序,重新调用。


没问题。


那么问题来了,为啥使用@RestController可以,@Controller不行呢?

看下区别:

@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

如果返回String或json的话,类上应该用@RestController注解。

如果是页面跳转的话,那就是@Controller。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值