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 提 ...
随机推荐
- Python 私有
class Person: __qie = "潘潘" # 类变量 def __init__(self, name, mimi): self.name = name self.__m ...
- 中国网建提供的SMS短信发送
一个简单的发送短信的小demo 第一步: 兄弟们,首先你们去中国网建的官网去注册一个账户:网址http://sms.webchinese.cn/reg.shtml 第二步: 注册完成之后会有免费的测试 ...
- 一个跳转提示页面---JS
//一个跳转提示页面 <script type="text/javascript"> var s=5; function go(){ do ...
- ELF文件加载与动态链接(二)
GOT应该保存的是puts函数的绝对虚地址,这里为什么保存的却是puts@plt的第二条指令呢? 原来“解释器”将动态库载入内存后,并没有直接将函数地址更新到GOT表中,而是在函数第一次被调用时,才会 ...
- Linux 双网卡双网段通信
/********************************************************************************* * Linux 双网卡双网段通信 ...
- Sublime 修改快捷键
Preferences-Key Bindings-User 添加一行: { "keys": ["ctrl+d"], "command": & ...
- [LeetCode&Python] Problem 492. Construct the Rectangle
For a web developer, it is very important to know how to design a web page's size. So, given a speci ...
- Educational Codeforces Round 54 ---1076ABCDE
1076A---Minimizing the String[字符串] http://codeforces.com/contest/1076/problem/A 题意: 删掉字符串中的一个字符使得得到的 ...
- 2017.5.10 MapReduce内部逻辑
MapReduce内部逻辑 Split:HDFS 中的数据以 Split 方式作为 MapReduce 的输入 Block 是 HDFS 术语,Split 是 MapReduce 术语 通常1个 Sp ...
- url参数和字典的相互转化
目标url:https://www.baidu.com/s?&wd=python&ie=utf-8 将字典转成url参数 使用urllib.parse的urlencode方法,将字典对 ...