目录
1、创建maven工程,添加SpringBoot的起步依赖和web的启动依赖。
3、编写Controller,在引导类的同级包或者子级包创建controller
什么是SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。
SpringBoot入门案例
1、创建maven工程,添加SpringBoot的起步依赖和web的启动依赖。
<!--SpringBoot的起步依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<!--web功能的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、编写SpringBoot引导类
package com.heima;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//声明该类是一个spring boot引导类
@SpringBootApplication
public class FirstSpringBootApplication {
public static void main(String[] args) {
//run方法表示运行spring boot的引导类,参数是引导类的字节码对象
SpringApplication.run(FirstSpringBootApplication.class);
}
}
3、编写Controller,在引导类的同级包或者子级包创建controller
package com.heima.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class TestController {
@RequestMapping("/test")
@ResponseBody
public String TestSpringBoot(){
return "你好啊,小星星";
}
}
4、测试
执行SpringBoot起步类的主方法,控制台打印日志如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)
2018-11-21 18:51:42.945 INFO 5920 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-11-21 18:51:42.945 INFO 5920 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 5814 ms
2018-11-21 18:51:43.306 INFO 5920 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
2018-11-21 18:51:43.313 INFO 5920 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-11-21 18:51:43.314 INFO 5920 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-11-21 18:51:43.314 INFO 5920 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-11-21 18:51:43.315 INFO 5920 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2018-11-21 18:51:43.658 INFO 5920 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-11-21 18:51:44.310 INFO 5920 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@52cb91f7: startup date [Wed Nov 21 18:51:37 CST 2018]; root of context hierarchy
2018-11-21 18:51:44.670 INFO 5920 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/test]}" onto public java.lang.String com.heima.Controller.TestController.TestSpringBoot()
2018-11-21 18:51:44.685 INFO 5920 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-11-21 18:51:44.685 INFO 5920 --- [ restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-11-21 18:51:44.781 INFO 5920 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-11-21 18:51:44.781 INFO 5920 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-11-21 18:51:45.594 INFO 5920 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2018-11-21 18:51:45.689 INFO 5920 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-11-21 18:51:45.903 INFO 5920 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2018-11-21 18:51:45.914 INFO 5920 --- [ restartedMain] com.heima.FirstSpringBootApplication : Started FirstSpringBootApplication in 9.809 seconds (JVM running for 11.239)
浏览器键入http://localhost:8080/test:
控制台日志和浏览器正常显示,说明工程启动成功。
SpringBoot热部署配置
1、pom.xml文件中添加热部署的依赖
<!--热部署配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
2、Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置。
第一步:settings --> Compiler --> 勾选Build project automatically
第二步:Shift+crtl+alt+/ 选择Registry