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掉

查询所有和新增:
 1  private GirlRepository girlRepository;
 2
 3 //查询所有女生
 4 @GetMapping(value="/girls")
 5 public List<Girl> girlList(){
 6
 7    return girlRepository.findAll();
 8 }
 9
10 //添加一个女生
11 @PostMapping("/girls")
12 public girl girlAdd(@RequestParam("cupSize")String cupSize,
13                                 @RequestParam("age") Integer age){
14               Girl girl=new Girl();
15               girl.setCupSize(cupSize);
16               girl.setAge(age);
17           return girlRepository.save(girl);
18       }
19
20 //查询一个女生
21 @GetMapping("/girls/{id}")
22 public girl girlFindOne(@PathVariable("id")Integer id) {
23     return girlRepository.findOne(id);
24 }
25
26 //更新
27 //添加一个女生
28 @PutMapping("/girls/{id}")
29 public girl girlAdd (@PathVariable("id") Integer id,
30                                 @RequestParam("cupSize")String cupSize,
31                                 @RequestParam("age") Integer age){
32                Girl girl=new Girl();
33                girl.setId(id);
34                girl.setCupSize(cupSize);
35                girl.setAge(age);
36               return girlRepository.save(girl);
37       }
38
39 //删除
40 @DeleteMapping(value="/girls/{id}")
41 public void girlDelete(@PathVariable("id") Integer id){
42         girlRespository.delete(id);
43 }                            
数据库操作Jpa实现增删改查,接口方法名有讲究

实务操作 只需要加上注解@Transactiona
时间: 2024-11-08 13:23:35

SpringBoot入门学习笔记的相关文章

Hadoop入门学习笔记---part4

紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

汇编入门学习笔记 (六)—— si、di,双重循环

疯狂的暑假学习之  汇编入门学习笔记 (六)-- si.di,双重循环 参考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or,就不多说了. [bx+idata] 这样写是可以的,某些情况下,比较方便. [bx+idata] 也可以写成 idata[bx] 直接见例子: 把'ABcde' 跟 'fGHig' 都改成大写(ASCII中大写字母与小写字母二进制中,只有第五位不同,大写字母是0,小写字母是1) assume cs:code,ds:data d

汇编入门学习笔记 (八)—— 转移指令

疯狂的暑假学习之  汇编入门学习笔记 (八)--  转移指令 參考: <汇编语言> 王爽 第9章 能够改动ip或者同一时候改动cs和ip的指令统称为转移指令. 8086CPU转移行为分为: 段内转移:仅仅改动ip 段间转移:同一时候改动cs和ip 段内转移按ip改动的范围可分为: 短转移:ip改动范围 -128~127 近转移:ip改动范围 -32768~32767 转移指令分为: 无条件转移指令.如 jmp 条件转移指令 循环指令.如 loop 过程. 中断. 1. offset,nop指令

Hadoop入门学习笔记---part3

2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hadoop有了一个基础的了解.但是还是有一些理论性的东西需要重复理解,这样才能彻底的记住它们.个人认为重复是记忆之母.精简一下: NameNode:管理集群,并且记录DataNode文件信息: SecondaryNameNode:可以做冷备份,对一定范围内的数据作快照性备份: DataNode:存储数据:

汇编入门学习笔记 (三) —— 第一个程序

疯狂的暑假学习之  汇编入门学习笔记 (三)-- 第一个程序 参考:<汇编语言> 王爽  第四章 1.一个源程序从写到执行的过程 第一步:编写汇编源程序 第二步:对源程序进行编译连接 第三步:在操作系统中执行 2.源程序 代码: assume cs:first first segment start: mov ax,2 add ax,ax add ax,ax mov ax,4C00H int 21H first ends end start 代码解释: assume .segment.ends

Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记

?                                 Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记? 由于需要也是为了督促自己学习新的东西,我原本想要尝试着写一个爬虫程序,能够在cnki上自动得将论文进行批量下载,学习过程中遇到了诸多情况,cnki也真是专业,不得不佩服cnki的强大. 下面进入正题: 学习.实验环境:ubuntu 14.04 工具:Eclipse ,  FireFox, FireBug,HttpFox 编程语言:pyth

汇编入门学习笔记 (十四)—— 直接定址表

疯狂的暑假学习之  汇编入门学习笔记 (十四)-- 直接定址表 参考: <汇编语言> 王爽 第16章 1. 描述单元长度的标号 普通的标号:a,b assume cs:code code segment a:db 1,2,3,4,5,6,7,8 b:dw 0 start: mov si,offset a mov di,offset b mov ah,0 mov cx,8 s: mov al,cs:[si] add cs:[di],ax inc si loop s mov ax,4c00h in

汇编入门学习笔记 (四)—— [BX] 和 loop指令

疯狂的暑假学习之  汇编入门学习笔记 (四)-- [BX]  和 loop指令 参考:<汇编语言> 王爽 第5章 1.[BX] mov al,[1] 在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 [1] 认为是 1 赋给al. 如果要实现在debug中的mov al,[1],在masm中就需要[bx] 如: mov bx,1 mov al,[bx] 还可以用 bs:[1] 的方式 如: mov al,bs:[1] 2.loop 循环 要使