Spring Boot 致力于簡(jiǎn)潔,讓開(kāi)發(fā)者寫(xiě)·更少的配置文件·狞贱,由于Springboot內(nèi)置了Servlet容器
刻获,所以程序不需要像傳統(tǒng)的方式,先部署到容器然后再啟動(dòng)容器瞎嬉。只需要打開(kāi)創(chuàng)建包目錄文件下${項(xiàng)目名}Application.java
文件運(yùn)行main
方法即可蝎毡。
搭建Spring boot項(xiàng)目
springboot項(xiàng)目可以在https://start.spring.io/
上創(chuàng)建項(xiàng)目進(jìn)行下載,并在本地運(yùn)行氧枣,也可在IDEA中
進(jìn)行構(gòu)建沐兵。本次演示采用IDEA
的方式。
- 打開(kāi)IDEA點(diǎn)擊Create New Project
- 選擇Spring Initializr 點(diǎn)擊NEXT
- Name:springbootdemo 點(diǎn)擊NEXT
- 點(diǎn)擊Web選中WEB復(fù)選框然后NEXT
- Project name:springbootdemo 點(diǎn)擊FINISH
至此一個(gè)SpringBoot項(xiàng)目就創(chuàng)建完成了
結(jié)構(gòu)目錄
如上圖所示便监,Spring Boot的基礎(chǔ)結(jié)構(gòu)一共是三個(gè)文件:
-
src/main/java
程序開(kāi)發(fā)以及主程序入口 -
src/main/resources
項(xiàng)目相關(guān)配置文件 -
src/test/java
測(cè)試程序文件
pom.xml文件
可以看到工程中有maven的pom文件扎谎,這里默認(rèn)是依賴(lài)了springboot的2.1.4版本
碳想,由于是測(cè)試,就不慫有什么問(wèn)題毁靶,可以起到測(cè)試效果即可胧奔,構(gòu)建項(xiàng)目不建議使用最新的;可以看到其中的一些依賴(lài)jar包比較少老充,因?yàn)檫@些都是內(nèi)嵌
到了springboot的jar依賴(lài)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springbootdemo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>
</project>
Application
其中有一個(gè)Application
類(lèi)葡盗,它就是程序的入口,右鍵選擇Run即可啟動(dòng)該項(xiàng)目(ps:默認(rèn)端口號(hào)為8080
)
@SpringBootApplication
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
在resources
下面有一個(gè)application.properties
配置文件啡浊,負(fù)責(zé)配置項(xiàng)目中的一下配置信息觅够,默認(rèn)為空;一般是采用.yml
的形式進(jìn)行配置巷嚣,可以右鍵選擇此配置文件將其后綴進(jìn)行修改
編寫(xiě)一個(gè)controller
/**
* 等同于@Controller加上@ResponseBody
*/
@RestController
public class HelloController {
/**
* 訪問(wèn)/hello或者/hi任何一個(gè)地址喘先,都會(huì)返回同樣的結(jié)果
* @GetMapping等用于@RequestMapping(method = RequestMethod.GET)
* @return
*/
@GetMapping(value = {"/hello","/hi"})
public String say() {
return "How are you?";
}
}
運(yùn)行SpringbootDemoApplication
的main
方法就會(huì)啟動(dòng)項(xiàng)目,打開(kāi)瀏覽器輸入網(wǎng)址:localhost:8080/hi
廷粒,就可以在瀏覽器上看到:How are you?
屬性配置
在appliction.yml
文件中添加屬性:
girl:
name: 小花
age: 18
content: content:${name},age:${age}
在Java文件中窘拯,獲取name屬性,如下:
@Value("${name}")
private String name;
@Value("${age}")
private Integer age;
@Value("${content}")
private String content;
也可以通過(guò)ConfigurationProperties
注解坝茎,將屬性可以配置到Bean
涤姊,通過(guò)Component
注解將bean注解到spring`容器中:
@ConfigurationProperties(prefix="girl")
@Component
public class GirlProperties {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
總結(jié)
使用SpeingBoot可以非常方便
、快速搭建
項(xiàng)目嗤放,spring項(xiàng)目就相當(dāng)于是個(gè)光腳大漢思喊,boot…boot給你雙鞋總跑得過(guò)光腳的吧。另外SpringBoot也是構(gòu)建Springcloud微服務(wù)架構(gòu)
的基礎(chǔ)