Spring实战:在spring boot框架下开发最简单的web项目之helloworld

1.第一步,在spring 框架配置网站,配置好web项目框架并且下载下来。对应地址:

https://start.spring.io/

第二步,在intellj中导入配置完成的项目框架。

第三步,添加控制层的Controller类:

package com.nowcoder.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
//Controller注解的目的是把当前类交给IOC容器管理,即注册bean
@org.springframework.stereotype.Controller
public class Controller {
//该注解的主要目的是把http的请求映射到控制器的处理方法上,通常结合controller注解使用
    @RequestMapping("/")
//@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中
    @ResponseBody
    public String index(){
        return("HelloWorld!");
    }
}

run以后,打开本机对应的网络端口,显示为:

参考文章:

http://www.iteye.com/news/32657

https://blog.csdn.net/bigtree_3721/article/details/52091522

https://www.cnblogs.com/daimajun/p/7152970.html

这几篇文章中都有很详细的三个注解的作用以及使用语法,场景。可以参考,如果想要深入了解,建议去spring官方文档查看:

https://docs.spring.io/spring-boot/docs/current/reference/html/index.html

 

2.下面我们体验另一个作用,我们将代码换为:

package com.nowcoder.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@org.springframework.stereotype.Controller
public class Controller {
//此处的参数发生了改变,添加了一个url标签
    @RequestMapping(path={"/","xxx"})
    @ResponseBody
    public String index(){
        return("HelloWorld!");
    }
}

使用新添加的标签来访问端口:

可以看到,返回了同样的结果。

3.接着我们体验另一个功能,把path换成value

还是返回了一样的结果(都一样,此处就不上图了)。

5.那么为什么可以采用这样的方法呢?是因为requestmapping源码中的方法:

@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
//默认的不添加value或者path时候
    String name() default "";
//可以用path作为标签,添加多个url请求路径
    @AliasFor("path")
    String[] value() default {};
//同样也可以用value作为标签
    @AliasFor("value")
    String[] path() default {};

    RequestMethod[] method() default {};

    String[] params() default {};

    String[] headers() default {};

    String[] consumes() default {};

    String[] produces() default {};
}

5.我们接着体验下将参数传进url中

package com.nowcoder.controller;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@org.springframework.stereotype.Controller
public class Controller {
//设置key和id路径
    @RequestMapping("/profile/{key}/{id}")
    @ResponseBody
//添加路径变量key和id
    public String index(@PathVariable("key") String key, @PathVariable("id") int id){
//将key和id的值返回
        return String.format("Key%s,Id%s",key,id);
    }
}

结果为:

6.接着我们加入@RequestParam

package com.nowcoder.controller;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@org.springframework.stereotype.Controller
public class Controller {
    @RequestMapping("/profile/{key}/{id}")
    @ResponseBody
    public String index(@PathVariable("key") String key, @PathVariable("id") int id,
                        @RequestParam(value="bianliang1", defaultValue = "se") String bianliang1,
                        @RequestParam(name="bianliang2", defaultValue = "2") int bianliang2){
        return String.format("Key%s,Id%s,Bianliang1=%s,bianliang2=%s",key,id,bianliang1,bianliang2);
    }
}

返回结果:

这部分都是一些参数传递过程,都是最基本的方法。下一部分,我们将采用模板的方式返回结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值