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

springboot中如何通過main方法調(diào)用service或dao

 更新時間:2022年02月24日 14:26:59   作者:張童瑤  
這篇文章主要介紹了springboot中如何通過main方法調(diào)用service或dao,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

如何通過main方法調(diào)用service或dao

大多數(shù)情況下,我們使用springboot是創(chuàng)建一個web項目,然后通過接口訪問,但是也有特殊情況,比如線上跑著的web項目,有一些特殊的數(shù)據(jù),需要經(jīng)過計算導(dǎo)入到數(shù)據(jù)庫,這個時候,我們可能需要原來的web項目中的一些service,dao才輔助操作,但是又不能在服務(wù)端新開接口。我們通過springboot的main方法執(zhí)行這些操作。

此時,service和到需要通過上下文獲得。

創(chuàng)建類,并復(fù)制下面代碼

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
 * 普通類調(diào)用Spring bean對象:
 * 注意:此類需要放到App.java同包或者子包下才能被掃描,否則失效。
 */
@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);
    }
}

再創(chuàng)建TestApp方法

必須跟SpringUtilfa放到同一目錄下

package com.example.demo.test2;
import com.example.demo.controller.Aqjg_thePeriodController;
import com.example.demo.mapper.AppAqjgTaskMapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import java.util.List;
import java.util.Map;
@SpringBootApplication
@MapperScan(basePackages = {"com.example.demo.mapper"})
public class TestApp {
    public static void main(String[] args) {
        SpringApplication.run(TestApp.class, args);
        ApplicationContext context = SpringUtil.getApplicationContext();
        Aqjg_thePeriodController aqjg_thePeriodController = new Aqjg_thePeriodController();
        AppAqjgTaskMapper appAqjgTaskMapper = context.getBean(AppAqjgTaskMapper.class); //你的dao或service
        List<Map<String,Object>> list = appAqjgTaskMapper.getTestSmsData();
        System.out.println("完成");
    }
}

在普通類中獲取service或者dao

手動創(chuàng)建工具類

package com.lhw.locktest.util;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class TherdUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext = null;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if (TherdUtil.applicationContext == null) {
            TherdUtil.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);
    }
}

調(diào)用配置類

? UserService userService = TherdUtil.getBean(UserService.class);
? userService.decStockNoLock();

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java自定義類加載器代碼示例

    java自定義類加載器代碼示例

    這篇文章主要介紹了java自定義類加載器代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • SpringBoot項目導(dǎo)出jar包及瘦身部署方式

    SpringBoot項目導(dǎo)出jar包及瘦身部署方式

    今天項目要求Nginx+jar包運行多個項目,在此記錄一下部署的過程,其中借鑒了好多網(wǎng)上前輩的經(jīng)驗,感謝各位的無私分享
    2024-07-07
  • Java foreach相關(guān)原理及用法解析

    Java foreach相關(guān)原理及用法解析

    這篇文章主要介紹了Java foreach相關(guān)原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Java內(nèi)部類及其特點的講解

    Java內(nèi)部類及其特點的講解

    今天小編就為大家分享一篇關(guān)于Java內(nèi)部類及其特點的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Spring Boot Swagger2使用方法過程解析

    Spring Boot Swagger2使用方法過程解析

    這篇文章主要介紹了Spring Boot Swagger2使用方法過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 使用Java調(diào)用Yolo模型的基本步驟

    使用Java調(diào)用Yolo模型的基本步驟

    Yolo(You Only Look Once)是一種基于深度學(xué)習(xí)的目標檢測算法,它可以在一張圖像中同時檢測出多個目標,并給出它們的位置和類別,這篇文章主要介紹了使用Java調(diào)用Yolo模型的基本步驟,需要的朋友可以參考下
    2024-03-03
  • 在MyBatis中使用接口映射的步驟詳解

    在MyBatis中使用接口映射的步驟詳解

    在MyBatis中使用接口映射是一種基于Java接口而非XML映射文件的方式來綁定SQL查詢和操作,這種方法使用注解來指定SQL語句,并將其直接關(guān)聯(lián)到接口方法上,本文給大家介紹了在MyBatis中使用接口映射的步驟,需要的朋友可以參考下
    2024-06-06
  • Java中IO流詳解

    Java中IO流詳解

    這篇文章主要介紹了java中的IO流詳細解讀,需要的朋友可以參考下
    2017-04-04
  • JavaWeb Servlet生命周期細枝末節(jié)處深究

    JavaWeb Servlet生命周期細枝末節(jié)處深究

    Servlet指在服務(wù)器端執(zhí)行的一段Java代碼,可以接收用戶的請求和返回給用戶響應(yīng)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于JavaWeb.servlet生命周期的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • SpringBoot多環(huán)境開發(fā)與日志小結(jié)

    SpringBoot多環(huán)境開發(fā)與日志小結(jié)

    這篇文章主要介紹了SpringBoot多環(huán)境開發(fā)與日志,下面給大家說一下如何基于多環(huán)境開發(fā)做配置獨立管理,務(wù)必掌握,需要的朋友可以參考下
    2022-08-08

最新評論

临夏市| 鄂州市| 桐城市| 渭源县| 东兰县| 通化县| 华蓥市| 临颍县| 湟中县| 多伦县| 桐庐县| 彩票| 漯河市| 永寿县| 齐齐哈尔市| 苍南县| 红原县| 礼泉县| 山阳县| 涞水县| 达拉特旗| 乐陵市| 全南县| 贵港市| 巴塘县| 新干县| 亚东县| 商洛市| 和林格尔县| 陵川县| 思南县| 灵丘县| 垫江县| 木里| 崇仁县| 翼城县| 东光县| 霍城县| 巨鹿县| 清徐县| 宝应县|