最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot調(diào)用service層的三種方法

 更新時間:2024年05月15日 08:57:13   作者:獨自成長  
在Spring?Boot中,我們可以通過注入Service層對象來調(diào)用Service層的方法,Service層是業(yè)務(wù)邏輯的處理層,它通常包含了對數(shù)據(jù)的增刪改查操作,本文給大家介紹了SpringBoot調(diào)用service層的三種方法,需要的朋友可以參考下

一、在Controller中調(diào)用

1、定義Service接口:

首先,你需要定義一個Service接口,其中包含你需要實現(xiàn)的方法。

public interface MyService {  
    String doSomething();  
}

2、實現(xiàn)Service接口:

@Service  
public class MyServiceImpl implements MyService {  
    @Override  
    public String doSomething() {  
        return "Something done!";  
    }  
}

注意@Service注解,它告訴Spring這是一個Service組件,應(yīng)該被管理在Spring容器中。

3、在Controller中注入Service:

在你的Controller中,你可以使用@Autowired@Inject注解來注入Service。

@RestController  
@RequestMapping("/api")  
public class MyController {  
 
    private final MyService myService;  
 
    @Autowired  
    public MyController(MyService myService) {  
        this.myService = myService;  
    }  
 
    @GetMapping("/dosomething")  
    public ResponseEntity<String> doSomething() {  
        String result = myService.doSomething();  
        return ResponseEntity.ok(result);  
    }  
}

現(xiàn)在,當你訪問/api/dosomething時,Controller會調(diào)用Service層中的doSomething()方法。

二、從其他組件調(diào)用Service:

如果你需要從其他非Controller組件(如另一個Service或組件)調(diào)用Service層的方法,你可以通過相同的方式注入Service。

@Component  
public class AnotherComponent {  
 
    private final MyService myService;  
 
    @Autowired  
    public AnotherComponent(MyService myService) {  
        this.myService = myService;  
    }  
 
    public void someMethod() {  
        String result = myService.doSomething();  
        // Do something with the result  
    }  
}

三、從啟動類中調(diào)用Service:

1、編寫一個SpringUtil工具類:

package com.example.iotdemo.util;
 
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
 
@Component
public class SpringUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext = null;
 
 
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if(SpringUtil.applicationContext == null){
            SpringUtil.applicationContext  = applicationContext;
        }
 
    }
 
    //獲取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
 
    //通過name獲取 Bean.
    public static Object getBean(String name){
        return getApplicationContext().getBean(name);
 
    }
 
    //通過class獲取Bean.
    public static <T> T getBean(Class<T> clazz){
        return getApplicationContext().getBean(clazz);
    }
 
    //通過name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name,Class<T> clazz){
        return getApplicationContext().getBean(name, clazz);
    }
}
 

這樣就可以從容器中獲取組件了

在啟動類寫 下代碼:

    //注入service
    private static MyService myService;
 
    public static void main(String[] args) throws InterruptedException {
        SpringApplication.run(TestApplication.class, args);
        ApplicationContext context = SpringUtil.getApplicationContext();
        myService= context.getBean(MyService.class);
        //調(diào)用service方法
        myService.someMethod();            
    }

到此這篇關(guān)于SpringBoot調(diào)用service層的三種方法的文章就介紹到這了,更多相關(guān)SpringBoot調(diào)用service內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven排除依賴和可選依賴的使用方法

    Maven排除依賴和可選依賴的使用方法

    我們知道Maven依賴具有傳遞性,例如A依賴于B,B依賴于C,在不考慮依賴范圍等因素的情況下,Maven會根據(jù)依賴傳遞機制,將間接依賴C 引入到A中,但如果A出于某種原因,希望將間接依賴C排除,那該怎么辦呢,Maven為用戶提供了兩種解決方式排出和可選
    2023-06-06
  • Springboot整合Spring Cloud Kubernetes讀取ConfigMap支持自動刷新配置的教程

    Springboot整合Spring Cloud Kubernetes讀取ConfigMap支持自動刷新配置的教程

    這篇文章主要介紹了Springboot整合Spring Cloud Kubernetes讀取ConfigMap支持自動刷新配置,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Mybatis-plus多數(shù)據(jù)源配置的兩種方式總結(jié)

    Mybatis-plus多數(shù)據(jù)源配置的兩種方式總結(jié)

    這篇文章主要為大家詳細介紹了Mybatis-plus中多數(shù)據(jù)源配置的兩種方式,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-10-10
  • Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析

    Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析

    為了簡化MyBatis的使用,MyBatis提供了接口方式自動化生成調(diào)用過程,可以大大簡化MyBatis的開發(fā),下面這篇文章主要給大家介紹了關(guān)于Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳解IDEA下Gradle多模塊(項目)的構(gòu)建

    詳解IDEA下Gradle多模塊(項目)的構(gòu)建

    這篇文章主要介紹了詳解IDEA下Gradle多模塊(項目)的構(gòu)建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 通過xml配置SpringMVC注解DispatcherServlet初始化過程解析

    通過xml配置SpringMVC注解DispatcherServlet初始化過程解析

    這篇文章主要為大家介紹了通過xml配置SpringMVC注解DispatcherServlet初始化過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Maven引入外部jar的幾種方法(小結(jié))

    Maven引入外部jar的幾種方法(小結(jié))

    這篇文章主要介紹了Maven引入外部jar的幾種方法(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Java遞歸實現(xiàn)評論多級回復(fù)功能

    Java遞歸實現(xiàn)評論多級回復(fù)功能

    這篇文章主要介紹了Java遞歸實現(xiàn)評論多級回復(fù)功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • JavaWeb中Tomcat底層機制和Servlet運行原理詳解

    JavaWeb中Tomcat底層機制和Servlet運行原理詳解

    這篇文章主要介紹了JavaWeb中Tomcat底層機制和Servlet運行原理詳解,Tomcat是一個開源的Java Web服務(wù)器,它是基于Java Servlet和JavaServer Pages(JSP)技術(shù)的,下面是關(guān)于Tomcat底層機制和Servlet運行原理的簡要說明,需要的朋友可以參考下
    2023-10-10
  • 一文教你如何判斷Java代碼中異步操作是否完成

    一文教你如何判斷Java代碼中異步操作是否完成

    在許多應(yīng)用程序中,我們經(jīng)常使用異步操作來提高性能和響應(yīng)度,這篇文章主要介紹了幾種常見的方法來判斷Java代碼中異步操作是否完成,希望對大家有所幫助
    2024-02-02

最新評論

洪泽县| 钟山县| 肃宁县| 普定县| 富平县| 永平县| 台前县| 两当县| 子长县| 崇州市| 汕尾市| 洪雅县| 慈利县| 松原市| 忻州市| 革吉县| 内江市| 黎川县| 安泽县| 石景山区| 松原市| 平谷区| 小金县| 津市市| 突泉县| 达孜县| 六安市| 扎囊县| 岳西县| 册亨县| 安达市| 汶川县| 平乡县| 定陶县| 昭苏县| 南昌市| 双流县| 南和县| 余姚市| 惠州市| 白银市|