第一章 SpringBoot初接触(入门篇)

SpringBoot入门

标签(空格分隔): springboot java springmvc


工程创建

  • idea新建工程
new project ->
spring initializr ->next ->
gorupid(jdk版本,maven,等等选择) -> next ->
web - >web(勾上)->next ->
填写项目路径
  • 项目基础配置参数
## 将文件poperties改为后缀为yml的文件
server:
  context-path: /sell 项目路径
  port: 8080端口
  • 获取配置文件参数
//方式一
@Value(“${变量名}”)

//方式二
@Data
@ConfigurationProperties(prefix = "excel") //文件对应yml中的
@Component
public class ExcelConfig {

    /** 导出路径 .*/
    private String outPath;

    /** 模板名称 .*/
    private String templePath;
}
excel:
  outPath: D:/temp/out.xls
  templePath: classpath:excel-templates/web-info-template.xls
  • 关于开发环境和部署环境
##新建一个yml文件
application.yml文件中
spring:
    profiles:
        active:dev # 如果是dev就用dev如果是pro就填pro
        
application-dev.yml文件
server:
  context-path: /sell 项目路径
  port: 8080端口
  
application-pro.yml文件
server:
  context-path: /sell 项目路径
  port: 8090端口

控制层注解说明

  • Controller
注解 说明
@Controller 处理http请求
@RestController spring 4 新添加注解即原先的@ResponseBody和@Controller使用
@RequestMapping("/user") 配置url映射

备注: @Controller 注解则需要配合一个模板来使用,其中需要引用模板类型,同时,就要有一个返回试图模板。

  • 传参使用
注解 说明
@PathVariable 获取url参数
@RequestParam 获取请求参数
@GetMapping get请求缩写(@RequestMapping(method="GET"))
@PostMapping post请求缩写(@RequestMapping(method="POST"))

备注:@PathVariable 获值方式url = http://....com/form/15645/apply @RequestMapping(value = "form/{id}/apply")
@PathVariable("id") String id;@RequestParam 获值方式url:http://....com/test?id=123456 @RequestParam(value="id",required=false(默认不传值是可以得),default=150)

  • restfulApi 请求方式
请求类型 请求方式 功能
GET /girls 获取列表
GET /girls/id 获取id的女生
POST /girls 创建一个女生
PUT /girls/id 更新一个女生操作
DELETE /girls/id 删除一个女生操作

数据库操作

  • 原课程:用mysql结合jpa,如果是其他的则使用其他数据库驱动
<!--jpa-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--数据库驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
  • yml文件数据库参数配置
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver 驱动
    url: jdbc:mysql://192.168.1.142:3306/wechat_order?characterEncoding=utf-8&useSSL=false 链接地址
    username: root 用户名
    password: 123456 密码
  jpa:
    hibernate:  
        #是否自动创建sql语句 切忌使用Create 每次程序启动都会覆盖之前创建的表格 重新创建一个新的表格
        #使用update则存在的是实现更新 不存在的进行创建
        ddl-auto: create 
        #是否显示sql调试
        show-sql: true 

备注:JPA全称Java Persistence API,即Java持久化API,它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据,结合其他ORM的使用,能达到简化开发流程的目的,使开发者能够专注于实现自己的业务逻辑上。Spring Jpa 能够简化创建 JPA 数据访问层和跨存储的持久层功能,用户的持久层Dao接口只需要继承他自己定义好的(仓库)接口,无需再写实现类,就可以实现对象的CRUD操作,还有分页排序等功能。

  • 实体类创建
@Table(name="product_category") //对应数据库中的表
@Entity //dao层注解
@DynamicUpdate //日期自动更新
@Data //lombok工具无需添加get和set方法
public class ProductCategory {
    /** id. */
    @Id //主键
    @GeneratedValue //自动增长值
    private Integer categoryId;

    /** 类目名称. */
    private String categoryName;

    /** 类目编号. */
    private Integer categoryType;

    public ProductCategory() {
    }

    public ProductCategory(String categoryName, Integer categoryType) {
        this.categoryName = categoryName;
        this.categoryType = categoryType;
    }
}
  • 数据库操作需要添加一个Repository继承jpa
//JpaRepository<OrderMaster,String> 第一个为返回值类型,第二个为表主键
//默认会有一些增删该查
//findOne(),findList(),save()....(这些都是依据主键或者是全部查询,或者存储)
//如果需要用根据某个字段查询则需要按规定方式书写例如下面根据openid查询
//数据库中字段名buyer_opendid则需要findByBuyerOpenid(String openid);
public interface OrderMasterRepository extends JpaRepository<OrderMaster,String> {
    /** 根据买家openid分页查询订单. */
    Page<OrderMaster> findByBuyerOpenid (String buyerOpenid, Pageable pageable);
}
  • 对于事物则用
@Transactional 注解方式

备注:事物管理保证执行同时操作时,例如两条数据同时插入,其中有一个插入失败,另一个也插入失败。


  • 原视频UP主慕课网(两小时入门SpringBoot)
  • 本篇博客撰写人: XiaoJinZi 个人主页 转载请注明出处
  • 学生能力有限 附上邮箱: 986209501@qq.com 不足以及误处请大佬指责
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,678评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,494评论 18 139
  • 1、Spring MVC请求流程 (1)初始化:(对DispatcherServlet和ContextLoderL...
    拾壹北阅读 1,941评论 0 12
  • 今天是孩子们行走醉美川西的第4天。 从小到大,这应该是孩子第一次不是和爸爸妈妈同行的长途旅行,11天的行程。 说不...
    波波读书阅读 205评论 0 0
  • *1* 周末和许久未见的闺蜜小苑约饭,她愁眉苦脸的向我倾诉在学校生活的不如意。 原来小苑和两个舍友总是形影不离,上...
    薛瘦脱阅读 4,522评论 144 162