使用Spring Boot写一个HelloWorld程序

案例:浏览器发送一个hello请求,服务器接受并处理响应一个hello world字符串

1、使用idea的springboot initialization创建一个新工程

步骤如下:

file->new->Project

spring boot项目案例 springboot完整案例_spring


next

spring boot项目案例 springboot完整案例_java_02


next

spring boot项目案例 springboot完整案例_spring_03

先看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:

spring boot项目案例 springboot完整案例_java_04


不需要手动打包再发布到tomcat

spring boot项目案例 springboot完整案例_spring_05

3、在浏览器访问

spring boot项目案例 springboot完整案例_spring_06