SpringBoot 相關的注意點
1,SpringBoot pom.xml檔案中預設有兩個模組:
spring-boot-starter:核心模組,包括自動配置支援,日誌和YAML;
spring-boot-starter-test:測試模組,包括JUnit,Hamcrest,Mockito;
2,yaml,是JSON的一個超集,也是一種方便的定義層次配置資料的格式.如果使用Starters ,新增spring-boot-starter 依賴就會自動載入SnakeYAML.
3,在每個Controller類的頂頭新增 @RestController的意思是controller裡面的方法都以json格式輸出,不用再寫什麼jackjson配置的了;
4,啟動主程式,開啟瀏覽器訪問 http://localhost:8080/hello 就可以看到效果了;
前提是 類的頂頭然後方法的頂頭的 @RequestMapping拼接起來為 /hello
,
5,自定義Property,在web開發的過程中,需要自定義一些配置檔案,
首先在application.properties中加入如下的配置
c.snowflake.regin=1
c.snowflake.node=1
然後自定義配置類
@Configuration
public class BasicConfig {
@Value("${c.snowflake.regin}")
private long regin;
@Value("${c.snowflake.node}")
private long node;
@Bean
public Snowflake snowflake() {
return new Snowflake(regin, node);
}
}
6,資料庫操作.
JPA是利用Hibernate生成各種自動化的sql,如果只是簡單的增刪改查,基本不用手寫了,因為已經封裝好了;
7,測試;
加上如下的依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
然後打上如下的註解:
@RunWith(SpringRunner.class)
@SpringBootTest
public class AppControllerTest {
@Test
public void listAllTest(){
}
}
8, 在dao層中的Repository中的@Query中的sql語句中 select 後面可以跟欄位或者表對應實體的別名,from後邊跟的是表對應的實體;
@Query("select sc from Scene sc where sc.id=:sceneId and sc.appId=:appId")
List<Scene> findSceneBySceneIdAndAppId(@Param("sceneId") String sceneId, @Param("appId") String appId);
9,
- GET /zoos:列出所有動物園
- POST /zoos:新建一個動物園
- GET /zoos/ID:獲取某個指定動物園的資訊
- PUT /zoos/ID:更新某個指定動物園的資訊(提供該動物園的全部資訊)
- PATCH /zoos/ID:更新某個指定動物園的資訊(提供該動物園的部分資訊)
- DELETE /zoos/ID:刪除某個動物園
- GET /zoos/ID/animals:列出某個指定動物園的所有動物
- DELETE /zoos/ID/animals/ID:刪除某個指定動物園的指定動物
- GET /collection:返回資源物件的列表(陣列)
- GET /collection/resource:返回單個資源物件
- POST /collection:返回新生成的資源物件
- PUT /collection/resource:返回完整的資源物件
- PATCH /collection/resource:返回完整的資源物件
- DELETE /collection/resource:返回一個空文件