SpringBoot入门学习笔记
SpringBoot是SpringMVC的升级版,SpringBoot的特点:
application.properties文件配置: server.port = 8080端口配置
server.context-path = /girl URL前缀 application.yml文件配置:
server:
port: 8081
context-path: /girl 建议使用yml文件来配置 属性配置: @Value:单属性配置 @Value("${cupSize}")
private String cupSize;//通过一个注解,把配置文件里的属性注入进来 配置文件里是这样的:
server:
port: 8080
girl:
cupSize: B
age: 18
类里面是这样的:
@Component
@ConfigurationProperties(prefix = "girl")//可以把配置文件里相应前缀下的属性全部注入进来
public class GirlProperties{ private String cupSize;
private Integer age; getset方法略....
} 实体类初始化属性注入时,需要添加两个注解 @Component//把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
Controller层的注解使用:
匹配多个路径:
@RequestMapping(value={“hello”,“hi”} ,method=RequestMethod.GET) RestController = Controller + ResponseBody @PathVariable("id")获取路url中的数据
@RequestMapping(value="hello/{id}" ,method=RequestMethod.GET)
使用方法:public String say(@PathVariable("id")Integer id){} @RequestParam("id")获取请求的参数值
@RequestMapping(value="hello" ,method=RequestMethod.GET)
使用方法:public String say(@RequestParam("id")Integer id){}
value:请求的属性
required:是否必须如传参 defaultValue:默认值
@RequestMapping(value="hello" ,method=RequestMethod.GET)
使用方法:public String say(@RequestParam(value="id",required=false,defaultValue="0")Integer id){} @GetMapping 组合注解 使用方法:
@GetMapping(value="/say")意思就是get方式的请求映射 还有@PostMapping(value="/say")
数据库操作:
实体类设计:(注意要生成一个无参构造器,听说不这样的话就会报错)
数据库配置:
ddl-auto: create 每次都会创建表 如果表存在就会先drop再create
ddl-auto: update 表不存在就create 表存在就update
ddl-auto: validate 验证表结构
ddl-auto: create-drop 程序结束后会把表drop掉
查询所有和新增:
private GirlRepository girlRepository; //查询所有女生
@GetMapping(value="/girls")
public List<Girl> girlList(){ return girlRepository.findAll();
} //添加一个女生
@PostMapping("/girls")
public girl girlAdd(@RequestParam("cupSize")String cupSize,
@RequestParam("age") Integer age){
Girl girl=new Girl();
girl.setCupSize(cupSize);
girl.setAge(age);
return girlRepository.save(girl);
} //查询一个女生
@GetMapping("/girls/{id}")
public girl girlFindOne(@PathVariable("id")Integer id) {
return girlRepository.findOne(id);
} //更新
//添加一个女生
@PutMapping("/girls/{id}")
public girl girlAdd (@PathVariable("id") Integer id,
@RequestParam("cupSize")String cupSize,
@RequestParam("age") Integer age){
Girl girl=new Girl();
girl.setId(id);
girl.setCupSize(cupSize);
girl.setAge(age);
return girlRepository.save(girl);
} //删除
@DeleteMapping(value="/girls/{id}")
public void girlDelete(@PathVariable("id") Integer id){
girlRespository.delete(id);
}
数据库操作Jpa实现增删改查,接口方法名有讲究
实务操作 只需要加上注解@Transactiona
SpringBoot入门学习笔记的更多相关文章
- 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)
[原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...
- dubbo入门学习笔记之入门demo(基于普通maven项目)
注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
随机推荐
- 团队-团队编程项目爬取豆瓣电影top250-代码设计规范
1.类名使用首字母大写(骆驼命名法) 2.函数名应该为小写 3.用下划线开头定义私有的属性或方法 4.命名要使用有意义的,英文单词或词组 5.行尾不加分号 6.4个空格缩进代码 7.操作运算符注意优先 ...
- python点滴:判断字符串是否为合法json格式
在一些情况下,我们需要判断字符串是否为合法json格式. 思路很简单:尝试对字符串使用json.loads(),如果不是合法json格式,则会抛出ValueError异常. 示例如下: import ...
- 安卓 dex 通用脱壳技术研究(二)
0x03 DexHunter代码分析 DexHunter 实现中,只需要修改一处文件:dalvik\vm\native\dalvik_system_DexFile.cpp 下面是BeyondCompa ...
- 导出文件为excle
handleOutPut() { const searchData=this.state.searchData; let url = commonData.baseMerchantUrl + &quo ...
- react写单选按钮或table标签
首先,原理是一样的: class Loca_choose_wrap extends Component{ constructor(){ super(); this.state={ port_name: ...
- python day 09 文件操作
一 初识文件操作 使⽤用python来读写⽂文件是非常简单的操作. 我们使⽤用open()函数来打开⼀一个⽂文件, 获取到⽂文件句句柄. 然后通过⽂文件句句柄就可以进⾏行行各种各样的操作了了. 根据打 ...
- 第一次Scrum会议(10/13)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/13 16:22~16:47,总计25min. 地点 ...
- vim 介绍安装 复制 剪切 粘贴
1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...
- [P2051 [AHOI2009]中国象棋] DP
https://www.luogu.org/problemnew/show/P2051 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一 ...
- 【spring源码分析】spring和@PostConstruct注解
@PostConstruct注解好多人以为是Spring提供的.其实是Java自己的注解. Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法.被@Pos ...