使用Spring Boot写一个HelloWorld程序
案例:浏览器发送一个hello请求,服务器接受并处理响应一个hello world字符串
1、使用idea的springboot initialization创建一个新工程
步骤如下:
file->new->Project
next
next
先看pom.xml
可以看到工程中有maven的pom文件,也自动创建了SpringbootStartApplication.java该类为springboot的启动类,待会儿我们一起看下这个类,先看下maven的pom文件有哪些。这里主要是依赖了springboot的1.4.7版本,目前最新已经更新到1.5.6了,这里没有用最新版本,还是不当小白鼠了,在dependency中依赖了spring-boot-starter-web还有个test测试的组件,如果不写测试代码,可以不使用该test组件,最后还加入了支持springboot的maven plugin组件。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--
spring-boot-starter web:可以看做场景启动器,帮助我们导入web模块正常运行所依赖的组件
Spring Boot将所有的功能场景都抽取出来,做成一个个的Starters(启动器),只需要在项目里面
引入这些Starters相关的场景所有依赖即可
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--这个插件就是把该应用打包成一个可以执行的jar包,简化部署-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
启动类Application.java
配置好了pom后,我们一起看下自动生成的Application.java这个类相当于我们程序的main函数入口,这里再顺便介绍下因为springboot集成了Tomcat和Jetty,默认使用Tomcat作为应用容器,开发者只需要将工程打成jar包直接丢到服务器上就可以执行了,不需要再单独部署到was、jboss、tomcat这些应用服务器上。
/**
* @SpringBootApplication:标注一个主程序类,说明这是一个SpringBoot应用程序
*/
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
/**
* 该方法使spring启动起来
*/
SpringApplication.run(HelloWorldMainApplication.class,args);
}
}
所有的springboot application启动类都需要在类级别上加上@SpringBootApplication注解,其他参数不用任何调整,后续可以把一些初始化的动作放到该类中进行,目前本例中就不加其他的启动加载项了。
2、新建一个Controller
@Controller
public class HelloWorld {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "HelloWorld你好世界";
}
}
启动application:
不需要手动打包再发布到tomcat
3、在浏览器访问