前言:
spring boot是產品級spring項目的快速配置腳手架,它並不是一個全新的框架,也不是spring解決方案的替代品,而是
spring的一個封裝,所以以前用spring可以做的事,現在用spring boot都可以做。不同的是spring boot項目內置web服務器,可以非常簡單、便捷的開發單個應用項目,而不必將所有項目發佈到一個web服務器中運行,是一個非常好的微服務開發框架。同時,你也可以使用spring cloud(Spring Cloud是一個基於Spring Boot實現的雲應用開發工具)來搭建一個分佈式的網站。
1.安裝JDK
1.1下載安裝
地址:JDK1.8下載
1.2配置環境變量
打開環境變量path,添加如下配置()jdk路徑)
2.安裝maven
2.1下載解壓
2.2配置環境變量
path中加入配置如下(mvn的安裝路徑):
2.3更改mvn配置
- 更改倉庫位置,如改爲D:\work_cas\m2\repository
在maven安裝目錄的conf文件夾下的setting.xml配置文件中找到localRepository標籤,將其修改爲:
<localRepository>D:\work_cas\m2\repository</localRepository>
;
- 修改maven鏡像
在setting.xml中找到mirrors標籤,加入如下配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3.搭建第一個spring boot項目
3.1相關配置
筆者用的是Eclipse,具體安裝過程這裏就省略了。要在eclipse使用spring boot創建項目,必須先安裝STS(Spring Tool Suite
安裝完成後windows->show view查看spring組件,有相關組件則表示已安裝成功(可以先查看是否已配置該組件,若有
3.2創建項目
- 開始新建
- 輸入項目建立信息
要找到你的項目就必須根據這兩個id去查找。
groupid和artifactId被統稱爲“座標”是爲了保證項目唯一性而提出的,如果你把項目弄到maven本地倉庫去,你想
groupId一般分爲多個段,第一段爲域,第二段爲公司名稱。域又分爲org、com、cn等等許多,其中org爲非營利組織,com爲商業組織。舉個apache公司的tomcat項目例子:這個項目的groupId是org.apache,它的域是org(因爲tomcat是非營利項目),公司名稱是apache,artigactId是tomcat。
比如我創建一個項目,我命名爲cn.wuhg.xxx,cn表示中國,wuhg爲個人標示,artifactId爲HelloWorld即爲項目名稱。
- 選擇相關Dependency依賴
- 成功建立第一個Spring Boot項目
- pom配置大智如下:
3.3項目測試
訪問接口可得到相關信息:
3.4相關代碼
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
@RestController
public class HelloWorldController {
@Autowired
private HelloWorldService helloWorldService;
@GetMapping(value = "/hello")
public HelloWorldDTO getHelloWorldDTO() {
return helloWorldService.getHelloWorldDTO();
}
}
public interface HelloWorldService {
public HelloWorldDTO getHelloWorldDTO();
}
@Slf4j
@Service
public class HelloWorldServiceImpl implements HelloWorldService {
public HelloWorldDTO getHelloWorldDTO() {
log.info("get request!");
return HelloWorldDTO.builder().country("中國").city("北京").area("朝陽").description("Hello World!").build();
}
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HelloWorldDTO {
private String country;
private String city;
private String area;
private String description;
}