spring boot之Hello Word

在上一篇博文中我介绍了怎么创建一个spring boot的web工程。这篇博文我将介绍spring boot之重器hello word。首先我们来介绍一下几个重要的注解。

1,@SpringBootApplication此注解的作用是快捷配置启动类,此注解也相当与@Configuration+@EnableAutoConfiguration+@ComponentScan

2,@EnableAutoConfiguration的作用就是让spring boot根据应用所声明的依赖对spring框架进行自动配置。

3,@ComponentScan的作用是控制器扫描包的范围。

4,@Configuration的作用相当于spring的xml中配置的beans

5,@RestController的作用是标注一个类为controller

接下来我们来看一下代码实例,

首先我们来看一下controller这个类中的代码,我创建了一个TestController类。代码如下:

@RestController
public class TestController  {
    
    @GetMapping("/hello")
    public String hello(){
        return "Hello Word!";
    }
}

spring boot启动类中的代码如下。

@SpringBootApplication
@EnableScheduling
@ComponentScan(basePackages = "com")
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

接下来启动spring boot

Connected to the target VM, address: '127.0.0.1:51912', transport: 'socket'

                      _                       _
                     | |                     (_)            
  _ __ ___  _   _ ___| |__   __ _  ___   __ _ _  __ _ _ __  
 | '_ ` _ \| | | / __| '_ \ / _` |/ _ \ / _` | |/ _` | '_ \ 
 | | | | | | |_| \__ \ | | | (_| | (_) | (_| | | (_| | | | |
 |_| |_| |_|\__,_|___/_| |_|\__,_|\___/ \__, |_|\__,_|_| |_|
                                           | |              
                                           |_|
2.0.1.RELEASE
 (v2.0.1.RELEASE)

2018-04-10 15:13:21.800  INFO 12272 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on DESKTOP-EUKLDH3 with PID 12272 (E:\Project\springboot-plus\demo\target\classes started by msqxh in E:\Project\springboot-plus\demo)
2018-04-10 15:13:21.808  INFO 12272 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2018-04-10 15:13:21.962  INFO 12272 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@74e28667: startup date [Tue Apr 10 15:13:21 CST 2018]; root of context hierarchy
2018-04-10 15:13:25.656  INFO 12272 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-04-10 15:13:25.704  INFO 12272 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-04-10 15:13:25.704  INFO 12272 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.29
2018-04-10 15:13:25.722  INFO 12272 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [F:\Program Files\java8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\TortoiseSVN\bin;F:\Program Files\Java7\jdk1.7.0_80\bin;F:\Program Files\Java7\jdk1.7.0_80\jre\bin;F:\Program Files\maven\apache-maven-3.5.0\bin;F:\Program Files\maven\apache-maven-3.5.0\bin;C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin;C:\Users\msqxh\AppData\Local\Microsoft\WindowsApps;;.]
2018-04-10 15:13:25.963  INFO 12272 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-04-10 15:13:25.964  INFO 12272 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4009 ms
2018-04-10 15:13:26.310  INFO 12272 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-04-10 15:13:26.322  INFO 12272 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-04-10 15:13:26.323  INFO 12272 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-04-10 15:13:26.324  INFO 12272 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-04-10 15:13:26.324  INFO 12272 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-04-10 15:13:26.752  INFO 12272 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 15:13:27.563  INFO 12272 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@74e28667: startup date [Tue Apr 10 15:13:21 CST 2018]; root of context hierarchy
2018-04-10 15:13:27.749  INFO 12272 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello],methods=[GET]}" onto public java.lang.String com.example.controller.TestController.hello()
2018-04-10 15:13:27.759  INFO 12272 --- [           main] 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-04-10 15:13:27.760  INFO 12272 --- [           main] 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-04-10 15:13:27.847  INFO 12272 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 15:13:27.847  INFO 12272 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 15:13:28.242  INFO 12272 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-04-10 15:13:28.366  INFO 12272 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-04-10 15:13:28.379  INFO 12272 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 7.553 seconds (JVM running for 9.182)
2018-04-10 15:13:47.281  INFO 12272 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-04-10 15:13:47.282  INFO 12272 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-04-10 15:13:47.353  INFO 12272 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 71 ms

根据以上的日志可以看出这个springboot启动成功了,port为默认的8080。

我们通过这个端口来访问一下我们的这个controller,在浏览器的地址栏中输入:http://localhost:8080/hello

我们看到的结果是:

我们返回的hello word已经输出到浏览器上了。我们的springboot的hello word之旅到这里也就愉快的结束了。

本文为原创,作者:母绍骞

欢迎读者指正。谢谢!

猜你喜欢

转载自my.oschina.net/musq/blog/1793326