Spring Boot 初探
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。
第一步:建立Maven Project
□ src/main/java 程式開發以及主程式入口
□ src/main/resources 配置檔案
□ src/test/java 測試程式
第二步:在pom.xml增加如下配置
<!-- 定義公共資源版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<!-- 包含 mvc,aop 等jar資源 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第三步:在src/main/resources下建立application.yml
server:
port: 8080
context-path: /Demo
第四步:建立DemoController
@RestController
public class DemoController {
@GetMapping("/hello")
public Response hello(){
Response response = new Response();
response.setCode("000000");
response.setMessage("成功應答");
response.setResData(null);
return response;
}
}
第五步:建立啟動SpringbootApplication類
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
執行Run As ----> Java Application 啟動服務。
以上演示沒有涉及資料庫的操作,下面介紹資料庫的相關操作。首先我們先了解一下JPA。
JPA顧名思義就是Java Persistence API的意思,是JDK 5.0註解或XML描述物件-關係表的對映關係,並將執行期的實體物件持久化到資料庫中。
JPA優勢
標準化
JPA 是 JCP 組織釋出的 Java EE 標準之一,因此任何聲稱符合 JPA 標準的框架都遵循同樣的架構,提供相同的訪問API,這保證了基於JPA開發的企業應用能夠經過少量的修改就能夠在不同的JPA框架下執行。
容器級特性的支援
JPA框架中支援大資料集、事務、併發等容器級事務,這使得 JPA 超越了簡單持久化框架的侷限,在企業應用發揮更大的作用。
簡單方便JPA的主要目標之一就是提供更加簡單的程式設計模型:在JPA框架下建立實體和建立Java 類一樣簡單,沒有任何的約束和限制,只需要使用 javax.persistence.Entity進行註釋,JPA的框架和介面也都非常簡單,沒有太多特別的規則和設計模式的要求,開發者可以很容易的掌握。JPA基於非侵入式原則設計,因此可以很容易的和其它框架或者容器整合。
查詢能力
JPA的查詢語言是物件導向而非面向資料庫的,它以物件導向的自然語法構造查詢語句,可以看成是Hibernate HQL的等價物。JPA定義了獨特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一種擴充套件,它是針對實體的一種查詢語言,操作物件是實體,而不是關聯式資料庫的表,而且能夠支援批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高階查詢特性,甚至還能夠支援子查詢。
高階特性
JPA 中能夠支援物件導向的高階特性,如類之間的繼承、多型和類之間的複雜關係,這樣的支援能夠讓開發者最大限度的使用物件導向的模型設計企業應用,而不需要自行處理這些特性在關聯式資料庫的持久化。
第一步:pom.xml增加需要依賴的jar配置,本例使用mysql資料庫
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
第二步:修改rc/main/resources下application.yml檔案
server:
port: 8080
context-path: /Demo
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo
username: root
password: root
jpa:
hibernate:
ddl-auto: update
show-sql: true
第三步:建立UserRespository
import com.mahaochen.demo.domain.User;
@Repository("userRespository")
public interface UserRespository extends JpaRepository<User, String>{
}
第四步:建立demoService@Service("demoService")
public class DemoServiceImpl implements IDemoService {
@Resource(name="userRespository")
private UserRespository userRespository;
@Override
public List<User> findAll() {
return userRespository.findAll();
}
}
第五步:修改DemoController
@RestController
public class DemoController {
@Resource(name="demoService")
private IDemoService demoService;
@GetMapping("/hello")
public Response hello(){
Response response = new Response();
response.setCode("000000");
response.setMessage("成功應答");
response.setResData(demoService.findAll());
return response;
}
}
執行Run As ----> Java Application 啟動服務。
相關文章
- 初探Spring SecuritySpring
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- spring、spring MVC、spring BootMVCSpring Boot
- Spring Boot系列十九 Spring boot整合 swaggerSpring BootSwagger
- Spring Boot 參考指南(Spring Boot文件)Spring Boot
- Spring Boot 2.0(八):Spring Boot 整合 MemcachedSpring Boot
- Spring Boot —— Spring SecuritySpring Boot
- Spring BootSpring Boot
- Jeecg-Boot Spring BootSpring Boot
- Spring Boot學習(一)——Spring Boot介紹Spring Boot
- Spring Boot系列(一):Spring Boot快速開始Spring Boot
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼
- Spring Boot系列(一):Spring Boot 入門篇Spring Boot
- Spring boot學習(三) Spring boot整合mybatisSpring BootMyBatis
- Spring boot學習(四)Spring boot整合DruidSpring BootUI
- Spring Boot 2.0(四):使用 Docker 部署 Spring BootSpring BootDocker
- Spring Boot整合Spring BatchSpring BootBAT
- Spring Boot整合Spring AopSpring Boot
- Spring Boot整合Spring SecuritySpring Boot
- Spring Boot2 系列教程(三)理解 Spring BootSpring Boot
- Spring Boot入門(一):搭建Spring Boot專案Spring Boot
- Spring Boot(十二):Spring Boot 如何測試打包部署Spring Boot
- Spring Boot學習筆記:Spring Boot核心配置Spring Boot筆記
- Spring boot學習(一)開啟Spring boot之旅Spring Boot
- Spring boot學習(二) Spring boot基礎配置Spring Boot
- spring boot coreSpring Boot
- Spring Boot 文件Spring Boot
- Spring Boot WebSocketSpring BootWeb
- Spring Boot KafkaSpring BootKafka
- Spring Boot SecuritySpring Boot
- Spring Boot & 配置Spring Boot
- Hello,Spring BootSpring Boot
- Spring Boot系列(三):Spring Boot整合Mybatis原始碼解析Spring BootMyBatis原始碼
- Spring boot入門(一):快速搭建Spring boot專案Spring Boot
- Spring Boot:整合Spring Data JPASpring Boot
- Spring原始碼系列:初探底層,手寫SpringSpring原始碼
- Spring原始碼剖析1:初探Spring IOC核心流程Spring原始碼