1. 程式人生 > >在Servlet中可訪問Spring bean物件,但是不能直接以注入的方式引用

在Servlet中可訪問Spring bean物件,但是不能直接以注入的方式引用

在Servlet中使用註解的方式引用Spring bean物件,會報空指標,因此可以在init()方法中通過WebApplicationContextUtils.getWebApplicationContext(servletContext)獲取Spring,

程式碼如下:

package zttc.itat.user.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.Logger;
import org.jbpm.api.RepositoryService;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class InitJbpmProcessServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    //@Autowired
    //RepositoryService repositoryService;
    
    public InitJbpmProcessServlet() {
        super();
    }

    public void init() throws ServletException {
        Logger logger = Logger.getLogger(this.getClass());
        try {
            ServletContext servletContext = this.getServletContext();  
            WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);  
            RepositoryService repositoryService = (RepositoryService) ctx.getBean("repositoryService");  
            
            //流程部署
            repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy();
            logger.info("---流程載入結束---");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

相關推薦

Servlet訪問Spring bean物件但是不能直接注入方式引用

在Servlet中使用註解的方式引用Spring bean物件,會報空指標,因此可以在init()方法中通過WebApplicationContextUtils.getWebApplicationContext(serv

ORA-00054 資源正忙指定NOWAIT 方式獲取資源或者超時失效

       1.查詢到正在相關資源。     select a.object_name objectname,              b.session_id,              c.serial#,              c.program    

spring 根據beanName獲取bean物件呼叫其方法

通用類 @Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationConte

Spring 初始化一個Bean物件時依賴其他Bean物件空指標異常

1. Bean依賴關係   一個配置類的Bean,一個例項Bean;   例項Bean初始化時需要依賴配置類的Bean; 1.1 配置類Bean @ConfigurationProperties(prefix = "system") public class SystemConfig {

java兩個list儲存bean物件找出其中某一屬性不同的元素

在java中運用List集合儲存物件,如果想找到兩個list中不同的部分,可以用ArrayList的contains方法,遍歷每一個物件,判斷是否是相等的,如下: public stati

如何在靜態方法或非Spring Bean註入Spring Bean

return 依賴 capacity 保存 null 能夠 無法 obj ext 在項目中有時需要根據需要在自己new一個對象,或者在某些util方法或屬性中獲取Spring Bean對象,從而完成某些工作,但是由於自己new的對象和util方法並不是受Spr

Android Studio使用過程Java類突然報紅專案執行解決方法

Studio也有不穩定的時候,比如電腦自動的關機,或者停電導致的電腦直接關機等,再開啟電腦後,接著開啟Studio也許專案中就是不片紅,重啟和Build、clean、make project都不行,最後才知道是build快取的問題,網上說清空build快取之後就可以了,試了後

Java筆記:[反射篇] 利用反射獲取類的私有內部類物件並呼叫該物件的方法

public void smoothScrollBy(int dx, int dy, int duration) { try { Class<?> c = null; try { c = Class

servlet實現彈出提示框點選確認後跳轉其他頁面

PrintWriter out = response.getWriter();如果成功彈出登陸成功並跳到下一個頁面out.print("<script>alert('登入成功!');window.location.href='跳到登陸成功後的頁面'</sc

qml註冊和使用C++物件以及在qml實現窗體最大最小化

在main函式中相關程式碼如下: QApplicationapp(argc,argv); QDeclarativeViewview; //將app註冊到qml中,方便對主程式的退出,最大最小化等相關操作 view.rootContext()->setCont

關於springmvc註解@ModelAttribute的bean(物件引數)問題

環境:jdk6 sping3.2.3  oracle10g 問題闡述: 我通過jsp提交一個表單,然後通過js方法$('#id').submit()函式,提交表單,通過post提交表單如下: 我在springmvc的controller接受時,如下: 顯然  我是通過b

spring bean標籤及其子標籤使用

<beans> Spring配置檔案的根元素,包含一個或多個bean元素。  default-autowire屬性:預設的bean自動裝配模式。可選5種模式。  no:不使用自動裝配。Bean的引用必須通過ref元素定義。  byName:通過屬性名字進行自動裝配。  byType:如果BeanF

spring(bean初始化、銷燬、注入作用域)

IOC:控制反轉,也稱為依賴注入(DI)。這是一個過程。通常我們需要一個物件的時候,是主動建立物件,並且主動傳入到需要使用該物件的地方。而IOC則是由容器建立物件,注入到我們需要使用該物件的位置,兩者相比,一個主動,一個被動,被動的則是稱為依賴注入(控制反轉,由主動建立改為被動注入)。IO

【SpringBoot】檢視執行環境所有的spring bean

前言 spring boot : 2.0.0.RELEASE maven eclipse 在開發&除錯過程中,提示某個Bean找不到。此時就需要檢視執行環境中有沒有這個bean,以便快速排除

我的Android進階之旅------>Android替換string的使用getString(int resId, Object... formatArgs)

官方文件如下描述: public finalStringgetString (int resId,Object... formatArgs) Return a localized formatte

AJPFX關於java訪問控制符和非訪問控制符的詳細總結

private 安全 所有 語句 高級 運行 和數 靜態方法 作用 1、類的修飾符分為:可訪問控制符和非訪問控制符兩種。 可訪問控制符是:公共類修飾符 public非訪問控制符有:抽象類修飾符 abstract ;最終類修飾符 final1 )公共類修飾符 public :

劍指-OFFER_3 java_在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列任意一個重複的數字。

題源:  在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。   例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是第一個重複的數字

myeclipse專案名有紅叉專案檔案沒有報錯

從別的地方用U盤拷貝專案到自己主機。匯入到myeclipse後項目名中出現了紅叉,但專案中的程式碼沒有顯示其他的錯誤。後來在myeclipse的Problems框報出的錯誤:java compiler level does not match the version of the install

讓ftp使用者只存取其家目錄給予soft link或mount的存取權

讓ftp使用者只可存取其家目錄,但給予soft link或mount的存取權 前言 步驟 讓ftp使用者只能存取其家目錄 讓使用者存取家目錄以外的目錄 參考連結 前言 本篇譯自Lock down vsft

使用Java反射機制將Bean物件轉換成Map(駝峰命名方式 — 下劃線命名方式)

1、駝峰與下劃線方式名稱互相轉換工具類 public class CamelUnderlineUtil { private static final char UNDERLINE ='_'; public static String camelToUnderline(