激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot 2.0快速構建服務組件全步驟

Spring Boot 2.0快速構建服務組件全步驟

2021-07-31 12:04羅摩爾 Java教程

這篇文章主要給大家介紹了關于Spring Boot 2.0快速構建服務組件的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot 2.0具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

所謂的服務組件(service component)— 就是用于處理系統(tǒng)業(yè)務邏輯的類,如果按照系統(tǒng)分層設計理論來劃分,服務組件是位于業(yè)務層當中的類。在spring boot中,服務組件是一個被**@service**注解進行注釋的類,這些類用于編寫系統(tǒng)的業(yè)務代碼。在本章節(jié)中,將講解如何創(chuàng)建并使用服務組件。

在開始正文之前,先來看兩段示例代碼。使用服務組件之前,我們需要定義服務組件接口類,用于索引服務組件提供的服務,代碼如下所示:

?
1
2
3
public interface userservice{
 // todo ...
}

然后,需要使用**@service**注解對服務組件接口實現(xiàn)類進行注釋,演示代碼如下:

?
1
2
3
4
@service(value="userservice")
public class userserviceimpl implements userservice{
 //todo ...
}

最后,使用**@autowired**注解來自動引用服務組件,代碼如下:

?
1
2
3
4
5
6
@controller
public class democontroller{
 @autowired
 userservice userservice;
 //todo ...
}

在本次講解中,我們依然以對用戶的增、刪、改、查為案例,將控制器中的業(yè)務方法遷移到服務組件中。

1. 創(chuàng)建服務接口

創(chuàng)建一個包含添加用戶、更新用戶、刪除用戶和查詢用戶的服務接口類 — 用戶服務組件接口類。詳細代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.ramostear.application.service;
 
import com.ramostear.application.model.user;
 
import java.util.collection;
 
/**
 * created by ramostear on 2019/3/11 0011.
 */
public interface userservice {
 
 /**
 * create user
 * @param user
 */
 void create(user user);
 
 /**
 * update user info by id
 * @param id
 * @param user
 */
 void update(long id,user user);
 
 /**
 * delete user by id
 * @param id
 */
 void delete(long id);
 
 /**
 * query all user
 * @return
 */
 collection<user> findall();
}

2. 實現(xiàn)服務接口

創(chuàng)建一個接口實現(xiàn)類,用于實現(xiàn)其中的增、刪、改、查四個業(yè)務方法,并用**@service**注解進行標注,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.ramostear.application.service.impl;
 
import com.ramostear.application.model.user;
import com.ramostear.application.service.userservice;
import org.springframework.stereotype.service;
 
import javax.annotation.postconstruct;
import java.util.collection;
import java.util.hashmap;
import java.util.map;
 
/**
 * @author ramostear
 * @create-time 2019/3/11 0011-4:29
 * @modify by :
 * @since:
 */
@service(value="userservice")
public class userserviceimpl implements userservice {
 
 private static map<long,user> userrepo = new hashmap<>();
 
 @postconstruct
 public void inituserrepo(){
 user admin = new user();
 admin.setid(1).setname("admin");
 userrepo.put(admin.getid(),admin);
 
 user editor = new user();
 editor.setid(2).setname("editor");
 userrepo.put(editor.getid(),editor);
 }
 @override
 public void create(user user) {
 userrepo.put(user.getid(),user);
 }
 
 @override
 public void update(long id, user user) {
 userrepo.remove(id);
 user.setid(id);
 userrepo.put(id,user);
 }
 
 @override
 public void delete(long id) {
 userrepo.remove(id);
 }
 
 @override
 public collection<user> findall() {
 return userrepo.values();
 }
}

3. 使用服務組件

接下來,定義一個用戶控制器,使用**@autowired**注解來應用用戶服務組件,實現(xiàn)對用戶的增、刪、改、查功能:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.ramostear.application.controller;
 
import com.ramostear.application.model.user;
import com.ramostear.application.service.userservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.http.httpstatus;
import org.springframework.http.responseentity;
import org.springframework.web.bind.annotation.*;
 
/**
 * @author ramostear
 * @create-time 2019/3/11 0011-4:42
 * @modify by :
 * @since:
 */
@restcontroller
public class usercontroller {
 
 @autowired
 userservice userservice;
 
 
 @getmapping("/users")
 public responseentity<object> users(){
 return new responseentity<>(userservice.findall(), httpstatus.ok);
 }
 
 @postmapping("/users")
 public responseentity<object> create(@requestbody user user){
 userservice.create(user);
 return new responseentity<>("user is created successfully.",httpstatus.created);
 }
 
 @putmapping("/users/{id}")
 public responseentity<object> update(@pathvariable(name="id") long id,@requestbody user user){
 userservice.update(id,user);
 return new responseentity<>("user is updated successfully.",httpstatus.ok);
 }
 
 @deletemapping("/users/{id}")
 public responseentity<object> delete(@pathvariable(name = "id")long id){
 userservice.delete(id);
 return new responseentity<>("user is deleted successfully.",httpstatus.ok);
 }
}

4. 數(shù)據模型

用戶對象的代碼沿用以往章節(jié)的user.java代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.ramostear.application.model;
 
import lombok.getter;
import lombok.noargsconstructor;
import lombok.setter;
 
/**
 * @author ramostear
 * @create-time 2019/3/6 0006-3:12
 * @modify by :
 * @since:
 */
@getter
@setter
@noargsconstructor
public class user {
 private long id;
 private string name;
 
 public user setid(long id){
 this.id = id;
 return this;
 }
 
 public user setname(string name){
 this.name = name;
 return this;
 }
}

注:應用程序主類和maven build文件與之前章節(jié)的代碼形同,不再列舉。

5. 運行測試

啟動spring boot應用程序,然后打開postman測試應用程序,分別進行如下的測試。

get 請求:獲取所有的用戶信息。

url地址:http://localhost:8080/users

Spring Boot 2.0快速構建服務組件全步驟

獲取用戶信息

post 請求:新增一位用戶信息

url地址:http://localhost:8080/users

請求參數(shù):{“id”:3,"name":"reader"}

Spring Boot 2.0快速構建服務組件全步驟

新增用戶

put請求:修改用戶信息

url地址:http://localhost:8080/users/3

請求參數(shù):{“id”:3,"name":"ramostear"}

 Spring Boot 2.0快速構建服務組件全步驟

修改用戶

delete請求:刪除用戶信息

url地址:http://localhost:8080/users/3

Spring Boot 2.0快速構建服務組件全步驟刪除用戶

6. 附件

本章節(jié)用于演示的項目源碼已經上傳到github代碼倉庫,你可以通過下面的地址鏈接免費獲取本章節(jié)的全部源碼信息:

github.com/ramostear/s …

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。

原文鏈接:https://juejin.im/post/5caddc715188251ad646b634

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 污黄视频在线观看 | 毛片免费在线 | 可以看逼的视频 | 91麻豆精品国产91久久久更新资源速度超快 | 粉嫩蜜桃麻豆免费大片 | 男人午夜视频 | 北京一级毛片 | 欧美四级在线观看 | 国产一区二区三区在线免费 | 国产精品www| 国产亚洲自拍一区 | 99久久久国产精品免费99 | 中文字幕视频在线播放 | 曰本三级日本三级日本三级 | 黄色片免费在线 | 国产精品久久av | 国产精品午夜一区 | 黑人一区二区 | 国产一区二区视频网站 | 精品亚洲视频在线观看 | 久草在线高清 | 一级黄色大片在线观看 | 欧日韩在线 | 亚洲尻逼视频 | 久草在线视频新 | 美女在线观看视频一区二区 | 一区二区国产在线 | 中文字幕在线不卡视频 | 美女羞羞视频网站 | 黄色片网站免费观看 | 国产免费一区二区三区视频 | 九九热九九热 | 欧美日韩艺术电影在线 | 国产精品无码久久久久 | 免费国产不卡午夜福在线 | 在线 日本 制服 中文 欧美 | 久久3p视频| 黄色网电影 | xvideos korean| 国产毛片网站 | 欧美综合在线观看视频 |