springBoot

####1、微服务、微框架
使用springBoot会使编码,配置,部署,监控变得很简单。。
第一节、springBoot是的springMVC升级版,两者没有必然的联系,可以直接学springBoot。
这里写图片描述
微服务:当下比较流行的架构或者说解决方案,很多公司都在用,spring家族为微服务架构提供了一整套组件,统称为SpringCloud。要使用SpringCloud就必须要先学会使用SpringBoot,SpringCloud是建立在SpringBoot的基础之上,学习SpringBoot为微服务打基础。
这里写图片描述

注意:java、maven等版本要保持一致。。
#####第二节、属性配置(例如下图是数据库的配置):
这里写图片描述

@Value:读取配置文件的属性值。@Value("${ cupSize }")。通过value注解把配置文件中的内容注到类的成员变量里去了。
随着配置文件的增加(属性太多啊),建议对配置文件做一个分组,那么就要用到(读yml中的属性)
@Component@ConfigurationProperties. – 把配置写到类里面去,最好做一个分组
有了@ConfigurationProperties注解,就不用写很多value的注解了。(这个注解是放到类上的)

spring:   //类似于这样的分组
  profiles:
    active: dev
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dbgirl
    username: root
    password: admin
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

server:
  port: 8080
  girl:    //分组
    cupSize: B
    age: 18
    content: "cupSize: ${cupSize},age: ${age}}"  //在配置里面再用当前配置

//获取前缀是girl的配置  获取yml配置
//把girl下面的那些属性都映射过来
@Component //要在controller中注入,需要这个注解。
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {
	private String cupSize;
    private Integer age;
    public String getCupSize() {
        return cupSize;
    }
    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}

总之这节课涉及到的注解:
@Value:实现配置内容的注入
@Component:把一个类当成一个组件加入到spring容器中
@ConfigurationProperties:按组读取配置内容,以什么开头的全都读出来。见上面代码
#####第三节、controller的使用
这里写图片描述
@Controller – 如果不加这个注解,浏览器是无法访问到的
(如果只是用@Controller,那必须配合一个模板来使用,但是模板不推荐,所以要配合@ResponseBody)
@RestController等同于@Controller和@ResponseBody的组合//写上这个注解,自动返回json格式数据

模板的方式了解下就行,因为
现在开发方式都是前后端分离的,后端只需要提供一些rest接口返回json格式给前端就可以了。而不用模板的方式,用模板的方式会给性能带来很大的损耗。 记住

处理url映射:
@RequestMapping(value = {"/hello","/hi"},method = RequestMethod.GET)  //两个url都支持
RequestMethod.GET还是要指定,因为使用的业务场景不同,为了安全起见还是要指定。

如何处理URL中的参数,见下:
这里写图片描述

处理url里的参数:
http://127.0.0.1/hello/say/23
@GetMapping(value = "/say/{id}")
public String say(@PathVariable("id") Integer myId){
        return "id: " + myId;  
//        return girlProperties.getCupSize();
    }
   

传统的方式http://127.0.0.1/hello/say/?id=23
这样的话如何获取url中的值呢? 
用@RequestParam(value = "id")Integer myId

@GetMapping(value = "/say")  //推荐这个写法,和下面两行等同,就是@RequestMapping+请求的方式
//组合注解,节省时间 美化代码
//@PostMapping(value = "/s
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值