轉載請註明出處:https://blog.csdn.net/qq_30186661/article/details/80223302
一、平臺及工具
平臺:Window7
工具:IntelliJ Idea 2017.2.2 | JDK8 | mysql
框架:SpringBoot
二、項目建立步驟
1.File->New->Project->Spring Initialize
Name:firstSpringBoot
Java Version:7
Dependencies:Web->Web
建立完成後,
1)java.com.example.demo目錄下會出現FirstSpringBootApplication.java文件,裏面的main函數是web應用啓動的入口;
2)項目目錄下出現pom.xml文件,裏面包含了如下圖的依賴描述.
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.設置屬性
2.1配置屬性(也可以不手工配置,使用默認配置)
在類路徑下的application.properties文件添加屬性如下:
server.port=8080
server.servlet.context-path=/springboot
這些屬性用於配置項目的啓動環境。
2.2注入屬性
在類路徑下的application.properties文件添加屬性如下:
girl.name=B
girl.age=18
girl.content=content: ${girl.name},age:${girl.age}
這些屬性可以在controller中直接使用。
3.建立Controller
在FirstSpringBootApplication.java目錄下建一個測試用的HelloController.java,內容如下:
@ConfigurationProperties(prefix = "girl")
@RestController
public class HelloController {
// @Value("${girl.name}")
private String name;
// @Value("${girl.content}")
private String content;
@RequestMapping(value={"/hello","/hi"},method= RequestMethod.GET)
public String say(){
return content;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
上面用到的各種註解都是SpringMVC中的註解。其中@RestController用於告訴Spring,由Spring管理該對象的生命週期;
@ConfigurationProperties用於告訴Spring,由Spring進行屬性的setter注入,所以這種方式需要setter函數;@Value用於告訴Spring,由Spring進行屬性的構造函數注入,因此這種方式不需要setter函數;@RequestMapping用於告訴Spring,由Spring將請求url映射到對應的servlet方法。
4.啓動項目
啓動項目,然後在瀏覽器輸入localhost:8080/springboot/hi,即可在頁面看到hello, you!!。
三、用jpa操作數據庫
1.添加依賴描述
在pom.xml中添加如下依賴描述:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.配置數據庫信息
在application.properties中添加如下數據庫配置信息和hibernate管理數據庫表的信息:
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/pro_sale?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
這裏ddl-auto配置的意義是讓hibernate第一次操作數據庫時,建立對應的表。
3.建立dao
在dao文件夾下建立dao接口:
@Service@Transactional
public interface GirlRep extends JpaRepository<Girl, Integer> {
}
dao接口不需要添加任何接口,只需要繼承JpaRespository,該接口中有數據庫的增刪查改操作。
4.建立entity
在model文件夾下建立Entity實例:
@Entity
public class Girl {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
5.建立Controller
@RestController
public class GirlController {
@Autowired
private GirlRep girlRep;
@RequestMapping(value="/girls", method= RequestMethod.GET)
public List<Girl> getGirlList(){
return girlRep.findAll();
}
@RequestMapping(value="/girls",method = RequestMethod.POST)
public Girl addGirl(@RequestParam("name") String name, @RequestParam("age") Integer age){
Girl girl=new Girl();
girl.setAge(age);
girl.setName(name);
return girlRep.save(girl);
}
}
6.啓動
1)啓動項目
2)在數據庫插入一條girl的信息
3)在頁面輸入localhost:8080/springboot/girls,即可看到剛剛插入的girl的json格式數據。