在学习springboot之前首先我们来思考几个问题,
1.springboot与springmvc的关系?
有人说他们两个是包含关系,这样说的话只答对了一半,准确的说, springboot web组件集成了springmvc框架,采用maven依赖继承的方式对springmvc进行了封装,那么又有一个问题来了。
2.springboot又是如何启动项目的?
springmvc3.0之后可以通过注解方式启动,springboot默认集成了tomcat,jetty内置插件,底层通过Java代码创建tomcat容器,使用注解方式启动springmvc,相较于之前传统的web项目,省去了web.xml以及spring的一些配置文件,通过程序入口类来启动项目,并且最终是以Java方式启动应用程序,java -jar。
总结springboot
springboot是一个快速开发框架,能够快速整合第三方常用框架,去除了传统web项目中spring中的大量配置,并且不需要web.xml的方式来加载配置,只需要通过application.properties文件来配置一些必要信息,通过程序入口类来启动项目。
第一步,我们打开idea来创建我们的第一个springboot项目
这里跟maven配置一样,packaging选择默认的jar方式
选择web组件
这里我们来思考一个问题,他帮我们集成了web组件,为什么不需要定义版本号呢?
我们点进去这个依赖看看
package com.reason;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
/**springboot启动项目的核心注解,默认扫包范围是当前包以及当前包的子包*/
public class SpringbootDemo01Application {
public static void main(String[] args) {
/**定义springboot项目的程序入口*/
SpringApplication.run(SpringbootDemo01Application.class, args);
}
}
右击运行
看到如下界面,没报错的话表示启动成功
访问什么都没有,因为我们还什么都没写
我们来写一个controller
package com.reason.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
/** @RestController = @Controller + @ResponseBody*/
public class IndexController {
@RequestMapping("/")
public String index(){
return "this is my first springboot project!!!";
}
}
再次查看运行界面
你也可以在配置自定义端口号
application.properties
server.port=8081