Announcement Announcement Module
Collapse
No announcement yet.
[Spring+Hibernate]Invalid property Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Spring+Hibernate]Invalid property

    I have exception in my project, i don't know how i can correct this exception???
    Code:
    14.02.2012 20:48:15 org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Allocate exception for servlet springapp
    org.springframework.beans.NotWritablePropertyException: Invalid property 'factory' of bean class [springapp.dao.lmpl.ClientIpDAOlmpl]: Bean property 'factory' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

    ClientIpDAOlmpl
    Code:
    public class ClientIpDAOlmpl  implements ClientIpDAO{
    	private SessionFactory factory=null;
    	
    	public SessionFactory getFactory() {
    		return factory;
    	}
    	public void setFactory(SessionFactory factory) {
    		this.factory = factory;
    	}
    
    
    	
    	public void addClientIP(ClientIP id)throws SQLException{
    		Session session = null;
    		try{
    			session = factory.getCurrentSession();
    			session.beginTransaction();
    			session.save(id);
    			session.getTransaction().commit();
    		}catch(Exception ex){
    			System.out.println("Error in addClientIP" + ex.getMessage());
    		}finally{
    			if(session != null && session.isOpen()){
    				session.close();
    			}
    		}		
    	}
    	public boolean authenticationClient(String ip, String alias, String pass)throws SQLException{
    		Session session = null;
    		boolean b = false;
    		ClientIP client;
    		try{
    			session = factory.getCurrentSession();
    			session.beginTransaction();			
    			client = (ClientIP)session.get(ClientIP.class,ip);			
    			session.getTransaction().commit();
    			if(client.getClientAlias().equals(alias) && client.getClientPass().equals(pass)){
    				b = true;
    			}
    			else 
    				b = false;
    		}catch(Exception ex){
    			System.out.println("Error in auntificClient" + ex.getMessage());			
    		}finally{
    			if(session != null && session.isOpen()){
    				session.close();
    			}
    		
    		}	
    		return b;
    		
    	}
    	
    	public void deleteClientIP(ClientIP id) throws SQLException{
    		Session session = null;
    		try{
    			session = factory.openSession();
    			session.beginTransaction();
    			session.delete(id);
    			session.getTransaction().commit();
    		}catch(Exception ex){
    			System.out.println("Error in deleteClientIP" + ex.getMessage());			
    		}finally{
    			if(session != null && session.isOpen()){
    				session.close();
    			}				
    		}		
    	}
    
    	
    }
    Code:
    <?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-2.5.xsd">
           
    <bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    
        <property name="location" value="/WEB-INF/jdbc.properties" />
    
    </bean>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    
        <property name="driverClassName" value="${jdbc.driverClassName}" />
    
        <property name="url" value="${jdbc.databaseurl}" />
    
        <property name="username" value="${jdbc.username}" />
    
        <property name="password" value="${jdbc.password}" />
    
    </bean>
    <bean id="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
                      
                      <property name="mappingResources">
                            <list>                            
                                <value>springapp/hibernate_logic/ClientIP.hbm.xml</value> 
        						<value>springapp/hibernate_logic/StartProcess.hbm.xml</value> 
        						<value>springapp/hibernate_logic/BlockedProcess.hbm.xml</value>                  
                            </list>
                        </property>
                       <property name="hibernateProperties">
                       <props>                    
                        <prop key="hibernate.dialect">${jdbc.dialect}</prop>
                        <prop key="hibernate.show_sql">true</prop>
                       </props>
                       </property>
                        <property name="dataSource">
                            <ref bean="dataSource"/>
                        </property>
                         
                    </bean>
                    
    
    <bean id="myClientDAO" class="springapp.dao.lmpl.ClientIpDAOlmpl">
    
        <property name="factory" ref="mySessionFactory" />
    
    </bean>
    <bean name="/mainNew.htm" class="springapp.web.ClientIpController">
    
    <property name="clientDAO" ref="myClientDAO" />
    
    </bean>
    
        <!-- the application context definition for the springapp DispatcherServlet -->
    
        <bean id="productManager" class="springapp.service.SimpleProductManager">
            <property name="products">
                <list>
                    <ref bean="product1"/>
                    <ref bean="product2"/>
                    <ref bean="product3"/>
                </list>
            </property>
        </bean>
    
        <bean id="product1" class="springapp.domain.Product">
            <property name="description" value="Lamp"/>
            <property name="price" value="5.75"/>
        </bean>
            
        <bean id="product2" class="springapp.domain.Product">
            <property name="description" value="Table"/>
            <property name="price" value="75.25"/>
        </bean>
    
        <bean id="product3" class="springapp.domain.Product">
            <property name="description" value="Chair"/>
            <property name="price" value="22.79"/>
        </bean>
    
        <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
            <property name="basename" value="messages"/>
        </bean>
    
        <bean name="/hello.htm" class="springapp.web.InventoryController">
            <property name="productManager" ref="productManager"/>
        </bean>
        
         <bean name="/priceincrease.htm" class="springapp.web.PriceIncreaseFormController">
            <property name="sessionForm" value="true"/>
            <property name="commandName" value="priceIncrease"/>
            <property name="commandClass" value="springapp.service.PriceIncrease"/>
            <property name="validator">
                <bean class="springapp.service.PriceIncreaseValidator"/>
            </property>
            <property name="formView" value="priceincrease"/>
            <property name="successView" value="hello.htm"/>
            <property name="productManager" ref="productManager"/>
        </bean>
    
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
    </beans>
    Code:
    public class ClientIpController extends MultiActionController{
    	private ClientIpDAO clientDAO;
    	public void setClientDAO(ClientIpDAO clientDAO){
    		this.clientDAO = clientDAO;
    	}
    	public ClientIpDAO getClientDAO(){
    		return clientDAO;
    	}
    	
    	public ModelAndView add(HttpServletRequest arg0,
    			HttpServletResponse arg1,ClientIP clientIp) throws Exception {
    		// TODO Auto-generated method stub
    		clientDAO.addClientIP(clientIp);
    		return new ModelAndView("hello");
    	}
    	
    	}
Working...
X