1. 程式人生 > >Sping+Struts2+Hibernate中如何用main方法例項化dao或service

Sping+Struts2+Hibernate中如何用main方法例項化dao或service

demo1

public static void main(String[] args) {

    ApplicationContext context = new ClassPathXmlApplicationContext(  
            new String[] {"applicationContext.xml"});  
    SessionFactory sessionFactory=(SessionFactory)context.getBean("sessionFactory");
    UserDaoImpl userDao=(UserDaoImpl) context.getBean("userDaoImpl");
    userDao.setSessionFactory(sessionFactory);
    List<User> list = userDao.getAllUser();

}

demo1對appliactionContext.xml是零配置後非零配置都可以使用但userDaoImpl中必須有

    protected SessionFactory sessionFactory;

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

demo2

  1. publicstaticvoid main(String[] args) {  
  2.     ApplicationContext context = new ClassPathXmlApplicationContext(  
  3.             new String[] {"ApplicationContext.xml"});  
  4.     BeanFactory factory = (BeanFactory) context;  
  5.     UserService userService = (UserService)factory.getBean("userService");
  6. }
  7. demo2在零配置中不能使用,xml檔案不找不到userService有關的配置必須採用非零配置才可以


相關推薦

Sping+Struts2+Hibernate中如何用main方法例項daoservice

demo1 public static void main(String[] args) {     ApplicationContext context = new ClassPathXmlApplicationContext(               new Str

spring bean 構造方法例項

spring框架例項化bean有3中方式,即構造方法例項化、靜態工廠例項化、例項工廠例項化(其中,最常用的是構造方法例項化) 構造方法例項化 spring容器可以呼叫bean對應類中的無引數構造方法來例項化bean,這種方式稱為構造方法例項化 1.建立web應用,並匯入依賴的jar包

Python內建函式類方法靜態方法例項方法學習

靜態方法 class C(object): @staticmethod def f(): print('runoob'); C.f(); # 靜態方法無需例項化 cobj = C() cobj.f() # 也可以例項化後

學習php反射(2)——不用new方法例項

上一篇簡單介紹了 php 反射的幾個常見類的使用方法,但是用反射能做些什麼,你可能還是想象不到, 下面我稍微應用反射類來做點東西,大家知道例項化一個類需要用new 關鍵字,不用 new 可以嗎?答案是可以的,用反射就能實現: 首先建立一個檔案 student.php

Android中利用newInstance()方法例項fragment

Android是在Android 3.0 (API level 11)開始引入Fragment的。Fragment可以使你能夠將activity分離成多個可重用的元件,每個都有它自己的生命週期和UI。那我們應該怎麼去建立fragment呢?Google已經考慮到

關於對方法例項的相關感悟以及unity的50個技巧

關於例項化問題的感悟(筆者自悟,大神勿噴) 在之前的程式編寫過程中,雖然對相關的方法進行了例項化,但是在執行的時候總是會出現“未將物件引用設定到物件的例項”,出現該種問題的原因是由於在例項化後,沒有對例項化進行引用賦值,所以導致相關變數無法在其他方法中進行讀取,以後需對

java通過反射,只需要傳了類名和引數,就可以根據不同引數的構造方法例項物件

轉載自:http://www.jianshu.com/p/69ca44916ebf 程式碼塊 @requires_authorization private Object reflateInstance(String className, Object[] args)th

Java 抽象方法例項

通過查詢Java的API發現:抽象類有構造方法,而介面沒有構造方法。 抽象類不可以直接建立物件,表示抽象類本身不能被例項化,即 抽象類 a = new 抽象類();這樣寫是錯誤的,但是抽象類可以宣告物件,因為,抽象類的子類必須複寫抽象類中的所有抽象方法,即抽象類的子類是可以

java的main方法中呼叫spring的service

將業務層類配置到Spring中:     <bean id="customerService" class="cn.itcast.crm.service.impl.CustomerServiceImpl">     </bean> // Spri

springboot 專案普通類中呼叫mapperservice介面(utils包下的類封裝方法時呼叫mapperservice介面)

1、該類使用@Component註解 2、新增一個你需要用到的類的靜態欄位 3、建立一個初始化方法,貼上@PostConstruct 標籤,用於注入bean 4、建立方法呼叫mapper或service介面 5、最後直接在普通類中呼叫即可 //1 @Compon

java main方法呼叫類的例項方法疑問

public class Example { void idea() { } public static void main(String args[]) { new Example().idea();//這裡居然

Hibernate中用到聯合主鍵的使用方法,為何要序列,為何要重寫hashcode 和 equals 方法

聯合主鍵用Hibernate註解對映方式主要有三種: 第一、將聯合主鍵的欄位單獨放在一個類中,該類需要實現java.io.Serializable介面並重寫equals和hascode,再將該類註解為@Embeddable,最後在主類中(該類不包含聯合主鍵類中的欄位)儲存該

tensorflow 中資料經過網路傳輸後的embedding視覺方法例項

最近在GitHub上看程式碼偶然發現了使輸入經過網路傳輸後的輸出,即“embedding”視覺化的小細節,在此寫下來加深記憶: Git原連結:https://github.com/ywpkwon/siamese_tf_mnist 首先是建立網路(Siamese 網路): import t

面向物件—的__new__()方法詳解 [Python] Python 之 __new__() 方法例項

[Python] Python 之 __new__() 方法與例項化   __new__() 是在新式類中新出現的方法,它作用在構造方法建造例項之前,可以這麼理解,在 Python 中存在於類裡面的構造方法 __init__() 負責將類的例項化,而在 __init__()

bean的4種例項方法

  具體檔案格式 application.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns = "http://www.springframework.org/schema/

Spring 學習筆記1--三種例項Bean方法、註解

首先通過一個簡單的程式學習Spring在程式中的運用。 定義一個介面: package com.spring.interfacebean; public interface PersonBean { void show(); } 這個介面的實現類:

2 HashMap 的例項方法

HashMap 的例項化其實沒做什麼,主要是一些基礎引數的賦值 那麼來一個一個看看 一、預設的方式 public HashMap() { this.loadFactor = DEFAULT_LO

如何注入有複雜例項方法的bean

1、使用@Configuration + @Bean @Configuration public class ServiceConfig { @Bean @Scope("prototype") public CommonDrawService commonDrawService()

設計模式之工廠模式---物件的例項部分提取出來---三種不同的提取方法

一、不使用工廠 披薩專案:要方便披薩品種的擴充套件、要便於維護、要能執行時擴充套件 披薩族的設計: 抽象Pizza類,有四個方法:prepare()、bake(),cut(),box() 實際的披薩:GreekPizza和CheesePizza 披薩工廠設計:

java利用反射獲取某個包下的所有獲取物件屬性、方法、並例項

首先貼上用到的jar包,當然也可以通過遞迴file.list獲取類的路徑名稱。 maven匯入jar包: <dependency> <groupId>