Spring Boot (1)--建立項目

轉載請註明出處: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格式數據。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章