SpringBoot入門
標簽(空格分隔): springboot java springmvc
工程創(chuàng)建
- idea新建工程
new project ->
spring initializr ->next ->
gorupid(jdk版本,maven,等等選擇) -> next ->
web - >web(勾上)->next ->
填寫項目路徑
- 項目基礎配置參數(shù)
## 將文件poperties改為后綴為yml的文件
server:
context-path: /sell 項目路徑
port: 8080端口
- 獲取配置文件參數(shù)
//方式一
@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
- 關于開發(fā)環(huán)境和部署環(huán)境
##新建一個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參數(shù) |
@RequestParam | 獲取請求參數(shù) |
@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 | 創(chuàng)建一個女生 |
PUT | /girls/id | 更新一個女生操作 |
DELETE | /girls/id | 刪除一個女生操作 |
數(shù)據(jù)庫操作
- 原課程:用mysql結合jpa顶掉,如果是其他的則使用其他數(shù)據(jù)庫驅(qū)動
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--數(shù)據(jù)庫驅(qū)動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
- yml文件數(shù)據(jù)庫參數(shù)配置
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver 驅(qū)動
url: jdbc:mysql://192.168.1.142:3306/wechat_order?characterEncoding=utf-8&useSSL=false 鏈接地址
username: root 用戶名
password: 123456 密碼
jpa:
hibernate:
#是否自動創(chuàng)建sql語句 切忌使用Create 每次程序啟動都會覆蓋之前創(chuàng)建的表格 重新創(chuàng)建一個新的表格
#使用update則存在的是實現(xiàn)更新 不存在的進行創(chuàng)建
ddl-auto: create
#是否顯示sql調(diào)試
show-sql: true
備注:JPA全稱Java Persistence API,即Java持久化API挑胸,它為Java開發(fā)人員提供了一種對象/關系映射工具來管理Java應用中的關系數(shù)據(jù)痒筒,結合其他ORM的使用,能達到簡化開發(fā)流程的目的茬贵,使開發(fā)者能夠?qū)W⒂趯崿F(xiàn)自己的業(yè)務邏輯上簿透。Spring Jpa 能夠簡化創(chuàng)建 JPA 數(shù)據(jù)訪問層和跨存儲的持久層功能,用戶的持久層Dao接口只需要繼承他自己定義好的(倉庫)接口解藻,無需再寫實現(xiàn)類老充,就可以實現(xiàn)對象的CRUD操作,還有分頁排序等功能螟左。
- 實體類創(chuàng)建
@Table(name="product_category") //對應數(shù)據(jù)庫中的表
@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;
}
}
- 數(shù)據(jù)庫操作需要添加一個Repository繼承jpa
//JpaRepository<OrderMaster,String> 第一個為返回值類型啡浊,第二個為表主鍵
//默認會有一些增刪該查
//findOne(),findList(),save()....(這些都是依據(jù)主鍵或者是全部查詢,或者存儲)
//如果需要用根據(jù)某個字段查詢則需要按規(guī)定方式書寫例如下面根據(jù)openid查詢
//數(shù)據(jù)庫中字段名buyer_opendid則需要findByBuyerOpenid(String openid);
public interface OrderMasterRepository extends JpaRepository<OrderMaster,String> {
/** 根據(jù)買家openid分頁查詢訂單. */
Page<OrderMaster> findByBuyerOpenid (String buyerOpenid, Pageable pageable);
}
- 對于事物則用
@Transactional 注解方式
備注:事物管理保證執(zhí)行同時操作時胶背,例如兩條數(shù)據(jù)同時插入虫啥,其中有一個插入失敗,另一個也插入失敗奄妨。
- 原視頻UP主慕課網(wǎng)(兩小時入門SpringBoot)
- 本篇博客撰寫人: XiaoJinZi 個人主頁 轉(zhuǎn)載請注明出處
- 學生能力有限 附上郵箱: 986209501@qq.com 不足以及誤處請大佬指責