Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004 - 2011 Brian McCallister
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.skife.jdbi.v2.spring;
 
 import  org.springframework.beans.factory.FactoryBean;
 import  org.springframework.beans.factory.InitializingBean;
 
 import java.util.Map;

Utility class which constructs an IDBI instance which can conveniently participate in Spring's transaction management system.
 
 public class DBIFactoryBean implements FactoryBean, InitializingBean
 {
     private DataSource dataSource;
     private Map<StringObjectglobalDefines = new HashMap<StringObject>();

    
See org.springframework.beans.factory.FactoryBean#getObject
 
     public Object getObject() throws Exception
     {
         final DBI dbi = new DBI(new SpringDataSourceConnectionFactory());
         if ( != null) {
             dbi.setStatementLocator();
         }
 
         for (Map.Entry<StringObjectentry : .entrySet()) {
             dbi.define(entry.getKey(), entry.getValue());
         }
 
         return dbi;
     }

    
See org.springframework.beans.factory.FactoryBean#getObjectType
 
     public Class<?> getObjectType()
     {
         return IDBI.class;
     }

    
See org.springframework.beans.factory.FactoryBean#isSingleton

Returns:
false
 
     public boolean isSingleton()
     {
         return true;
     }

    
The datasource, which should be managed by spring's transaction system, from which the IDBI will obtain connections
 
     public void setDataSource(DataSource dataSource)
     {
         this. = dataSource;
     }
 
     public void setStatementLocator(StatementLocator statementLocator)
     {
         this. = statementLocator;
     }
 
     public void setGlobalDefines(Map<StringObjectdefines) {
         .putAll(defines);
     }

    
Verifies that a dataSource has been set
 
     public void afterPropertiesSet() throws Exception
     {
         if ( == null) {
             throw new IllegalStateException("'dataSource' property must be set");
         }
    }
New to GrepCode? Check out our FAQ X