SpringBoot专栏--来写一个HelloWorld

来写一个HelloWorld

1、可以在Spring Initializr上添加或者手动在pom.xml添加代码:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Pom.xml中有个默认模块,

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

其中,<scope>test</scope>表示依赖的组件仅参与测试工作,包括测试的编译和执行,但是不会包含在打包文件中。spring-boot-starter-test内置了多种测试工具,便于做单元测试、集成测试。

2、编写Controller内容

创建HelloController:

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

@ RestController是指controller中的方法都以json格式输出,不需要其他配置了;如果配置@Controller,代表内容输出到页面。@RequestMapping("/hello")提供路由信息,HTTPRequest中“/hello”路径都会映射到hello()方法上。

3、启动主程序

右键单击项目中的 HelloApplication | run 命令,就可以启动项目了。SpringBoot还提供了另外两种启动方式:

         在项目路径下,使用命令行 mvn spring-boot:run 来启动;

         或者将项目打包,打包后以 Jar 包的形式来启动:

# 进行项目根目录

cd ../hello

# 执行打包命令

mvn clean package

# 以 Jar 包的形式启动

java -jar target/hello-0.0.1-SNAPSHOT.jar

4、传入参数的请求

请求传参一般分为url传参和表单传参两种方式。Spring提供了很多参数接收方式,这里看下url传参。只要后端处理请求方法中包含参数键相同名称的属性,Spring会自动复制到属性中,使用到方法上。

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(String name) {
        return "hello world, " +name;
    }
}

         通过浏览器网址http://localhost:8080/hello?name=liudc,即可。

热部署

热启动需要引入另一个组件: spring-boot-devtools。该组件中包含了我们需要的热部署功能。添加依赖到pom.xml中,

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-Devtools</artifactId>
  <optional>true</optional>
</dependency>

在plugin中配置另一个属性fork为true即可,

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
</plugins>
</build>

注:使用IDEA开发的话因为idea默认不会自动编译,则还需要配置选择 File | Settings | Compiler 命令,然后勾选 Build project automatically 复选框,低版本的 IDEA 请勾选 make project automatically 复选框。

单元测试

         如果我们只想运行helloworld,只需要添加@Test注解就可以了。

public class HelloTest {
    @Test
    public void hello(){
        System.out.println("hello world");
    }
}

         如果测试web层的请求,SpringBoot给出了支持,使用MockMVC进行Web测试,可以模拟post、get请求。

@SpringBootTest
public class HelloTest {
    private MockMvc mockMvc;
    @Before
    public void setUp() throws Exception {
        mockMvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }
    @Test
    public void getHello() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=小明")
          .accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print());
    }
}

其中,@Before在测试启动时会优先执行,一般作为资源优化使用。.accept(MediaType.APPLICATION_JSON_UTF8))用于设置编码,避免中文乱码。

对比使用前后

1、使用前

配置web.xml,加载Spring和SpringMVC;

配置数据库连接、配置事务;

配置加载配置文件的读取,开启注解

…………..

配置完成后tomcat调试。

2、使用后

页面配置导入到开发工具中

进行代码编写

运行

         由上述对比可知,SpringBoot在开发阶段做了大量优化,很容易构建项目。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值