java - how to use Spring IOC with Swing -


i developing desktop application using swing, want use spring framework use ioc, , want using interface technique. getting nullpointerexception when call function instance of interface , interface implemented class in called function declared. here simple app code.

interface:

public interface iempmasterservice {         public internalresultsresponse<empmaster> maintainempmaster(             empmaster empmaster); } 

implementer class:

public class empmasterservice implements iempmasterservice {         private iempmasterdao empmasterdao;      public iempmasterdao getempmasterdao() {         return empmasterdao;     }     public void setempmasterdao(iempmasterdao empmasterdao) {         this.empmasterdao = empmasterdao;     }     @override     public internalresultsresponse<empmaster> maintainempmaster(             empmaster empmaster) {         internalresultsresponse<empmaster> response = new internalresultsresponse<empmaster>();         //some logic her...         response = getempmasterdao().maintainempmaster(request);         return response;     }} 

dao interface:

public interface iempmasterdao {     internalresultsresponse<empmaster> maintainempmaster(             empmasterrequest request); } class implementing dao: public class empmasterdao extends hibernatedaosupport implements iempmasterdao{     @override     public internalresultsresponse<empmaster> maintainempmaster(             empmasterrequest empmasterrequest) { //hibernate code goes here...                return resultsresponse;     } }  

main class:

public class empmanager extends javax.swing.jframe {         private iempmasterservice empmasterservice;     private static applicationcontext context;       public iempmasterservice getempmasterservice() {         return empmasterservice;     }     public void setempmasterservice(iempmasterservice empmasterservice) {         this.empmasterservice = empmasterservice;     } public static void main(string args[]) {         context = new classpathxmlapplicationcontext(new string[]{"applicationcontext.xml"}); empmasterservice = (empmasterservice)context.getbean("empmasterservice"); } private void jbutton1actionperformed(java.awt.event.actionevent evt) {         string name = jtextfield1.gettext();         string salary = jtextfield2.gettext();         empmaster empmaster = new empmaster();         empmaster.setempname(name);         empmaster.setsalary(double.parsedouble(salary));   //***** getting error @ line *****//             internalresultsresponse<empmaster> response = getempmasterservice().maintainempmaster(empmaster);            } 

my applicationcontext.xml :

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"        xsi:schemalocation="http://www.springframework.org/schema/beans            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">     <import resource="datasource.xml"/>        <bean id="mainframe" class="org.ui.empmanager">         <property name="title"> <value>spring example</value></property>             <property name="empmasterservice" ref="empmasterserviceimpl"></property>         </bean>          <bean id="empmasterserviceimpl" class="org.service.empmasterservice">         <property name="empmasterdao" ref="empmasterdaotarget"></property>           </bean>      <bean id="empmasterdaotarget" class="org.dao.empmasterdao">         <property name="hibernatetemplate" ref="matrixhibernatetemplate"/>     </bean>  </beans> 

and when click on button error getting.

exception in thread "awt-eventqueue-0" java.lang.nullpointerexception     @ org.ui.empmanager.jbutton1actionperformed(empmanager.java:140)     @ org.ui.empmanager.access$0(empmanager.java:132)     @ org.ui.empmanager$1.actionperformed(empmanager.java:67)     @ javax.swing.abstractbutton.fireactionperformed(unknown source)     @ javax.swing.abstractbutton$handler.actionperformed(unknown source)     @ javax.swing.defaultbuttonmodel.fireactionperformed(unknown source)     @ javax.swing.defaultbuttonmodel.setpressed(unknown source)     @ javax.swing.plaf.basic.basicbuttonlistener.mousereleased(unknown source)     @ java.awt.component.processmouseevent(unknown source)     @ javax.swing.jcomponent.processmouseevent(unknown source)     @ java.awt.component.processevent(unknown source)     @ java.awt.container.processevent(unknown source)     @ java.awt.component.dispatcheventimpl(unknown source)     @ java.awt.container.dispatcheventimpl(unknown source)     @ java.awt.component.dispatchevent(unknown source)     @ java.awt.lightweightdispatcher.retargetmouseevent(unknown source)     @ java.awt.lightweightdispatcher.processmouseevent(unknown source)     @ java.awt.lightweightdispatcher.dispatchevent(unknown source)     @ java.awt.container.dispatcheventimpl(unknown source)     @ java.awt.window.dispatcheventimpl(unknown source)     @ java.awt.component.dispatchevent(unknown source)     @ java.awt.eventqueue.dispatchevent(unknown source)     @ java.awt.eventdispatchthread.pumponeeventforfilters(unknown source)     @ java.awt.eventdispatchthread.pumpeventsforfilter(unknown source)     @ java.awt.eventdispatchthread.pumpeventsforhierarchy(unknown source)     @ java.awt.eventdispatchthread.pumpevents(unknown source)     @ java.awt.eventdispatchthread.pumpevents(unknown source)     @ java.awt.eventdispatchthread.run(unknown source) 

please me urgent , stuck here long time.

how creating empmanager, there bean in application xml manager, contains main method. within main method you're getting application context, , setting service bean, empmanager bean not doing in application context.

i'd recommend extracting main method different class in load application context , use getbean on ui manager. way have set ignores lot of ioc capabilities of spring directly grabbing beans application context, rather letting spring you.

this might not solve problem directly, @ least allow spring have single point of entry, , keep di in hands of spring, rather relying on set them yourself.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -