SpringBoot(一)--初體驗
阿新 • • 發佈:2018-11-13
一、簡介
SpringBoot是什麼?
SpringBoot是新一代開發框架,減少了xml,採用“約定大於配置”的思想,提供了許多開箱即用的三方庫,使開發者從煩擾的配置中解脫出來,能更專注於業務邏輯。
為什麼要學習SpringBoot?
- SpringBoot與Spring一脈相承,學習曲線平滑
- 簡化了xml配置,加快開發效率
- SpringCloud的基礎
- 越來越多的公司開始用SpringBoot進行開發
二、Hello World
接下來建立一個簡單的SpringBoot專案。
建立方法
1、利用官方提供的工具
地址:http://start.spring.io/
選擇需要新增的元件,Generate後匯入ide工具中。
2、Idea自帶SpringBoot建立工具
然後下一步,springboot內嵌tomcat,打包方式選擇jar,也可配置用外接的tomcat啟動
選擇版本和相應的元件
3、直接建立maven工程,在pom檔案中新增SpringBoot的相關依賴
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
啟動類
工程建立後會自動生成一個啟動類,執行該啟動類即可啟動專案
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- 啟動類上一定要加上
@SpringBootApplication
註解 - 可自定義啟動類,格式如上,要加上
@SpringBootApplication
註解,可在啟動類中進行相關的配置
控制器
新建兩個類:實體和控制器
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
/**
* @Data 為lombok外掛提供註解
* @Data: 提供@ToString, @Getter,@Setter等方法
* @AllArgsConstructor 提供全參構造
* @NoArgsConstructor 提供無參構造
*/
private String name;
private Integer age;
}
@RestController
public class DemoController {
@GetMapping("/get")
public Student get() {
Student student = new Student("zhangsan", 20);
return student;
}
}
執行啟動器,結果如下:
從以上例子中可看到得到了正確的結果,也看到了利用Springboot的快捷方便之處。
@RestController
註解
- 該註解實際上是
@Controller
和@ResponseBody
的複合註解,與這兩個註解一起使用效果相同 @GetMapping
等效於@RequestMapping(method = RequestMethod.GET)
,Spring4中開始提供,類似的還有@GetMapping、@PostMapping
等三、測試
測試類需加兩個註解 @RunWith
和 @SpringBootTest
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
注意
啟動類只能掃描到與啟動類同級的包及其子包,所以新建package的時候要注意,不然專案無法啟動。
歡迎轉載,轉載請註明出處
歡迎討論交流,如有問題歡迎及時指正