title: Issue with adding multiple connection factories to spring social with spring 3.0.3
body: <p>I am getting the following exception with my spring social config, if I put more than one connection factory.</p>
  
  <pre><code> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionFactoryLocator' defined in ServletContext resource [/WEB-INF/social-config.xml]: Error setting propert
  y values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'connectionFactories' threw exception; nested exception is java.lang.NullPointerException
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1353)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
          at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
          at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
          at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
          at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
          at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:641)
          at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228)
          at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1181)
          at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:584)
          at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
          at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180)
          at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:481)
          at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50)
          at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:470)
          at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:382)
          at org.eclipse.jetty.util.Scanner.scan(Scanner.java:339)
          at org.eclipse.jetty.util.Scanner.start(Scanner.java:275)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:542)
          at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:214)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.server.Server.doStart(Server.java:226)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1061)
          at java.security.AccessController.doPrivileged(Native Method)
          at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:994)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.eclipse.jetty.start.Main.invokeMain(Main.java:477)
          at org.eclipse.jetty.start.Main.start(Main.java:623)
          at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273)
          at org.eclipse.jetty.start.Main.main(Main.java:81)
  Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
  PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'connectionFactories' threw exception; nested exception is java.lang.NullPointerException
          at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
          at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1350)
          ... 47 more
  2012-09-25 23:39:19.349:WARN::Failed startup of context o.e.j.w.WebAppContext{/loginapp,file:/C:/Users/Gaurav/AppData/Local/Temp/jetty-0.0.0.0-8081-SpringLoginApp-1.0-SNAPSHOT.war-_loginapp-any-/webap
  p/},C:/Users/Gaurav/.m2/repository/com/myLogin/common/SpringLoginApp/1.0-SNAPSHOT/SpringLoginApp-1.0-SNAPSHOT.war
  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionFactoryLocator' defined in ServletContext resource [/WEB-INF/social-config.xml]: Error setting propert
  y values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:|PropertyAccessException 1: org.springframework.beans.MethodInvocationExce
  ption: Property 'connectionFactories' threw exception; nested exception is java.lang.NullPointerException
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1353)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
          at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
          at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
          at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
          at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
          at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:641)
          at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228)
          at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1181)
          at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:584)
          at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
          at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180)
          at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:481)
          at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50)
          at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:470)
          at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:382)
          at org.eclipse.jetty.util.Scanner.scan(Scanner.java:339)
          at org.eclipse.jetty.util.Scanner.start(Scanner.java:275)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:542)
          at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:214)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.server.Server.doStart(Server.java:226)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1061)
          at java.security.AccessController.doPrivileged(Native Method)
          at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:994)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.eclipse.jetty.start.Main.invokeMain(Main.java:477)
          at org.eclipse.jetty.start.Main.start(Main.java:623)
          at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273)
          at org.eclipse.jetty.start.Main.main(Main.java:81)
  Caused by:
  org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:|PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'connectionFac
  tories' threw exception; nested exception is java.lang.NullPointerException
          at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
          at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1350)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
          at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
          at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
          at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
          at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
          at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:641)
          at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228)
          at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1181)
          at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:584)
          at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36)
          at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:180)
          at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:481)
          at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:137)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:50)
          at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:470)
          at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:382)
          at org.eclipse.jetty.util.Scanner.scan(Scanner.java:339)
          at org.eclipse.jetty.util.Scanner.start(Scanner.java:275)
          at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:114)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:542)
          at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:214)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.server.Server.doStart(Server.java:226)
          at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
          at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1061)
          at java.security.AccessController.doPrivileged(Native Method)
          at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:994)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.eclipse.jetty.start.Main.invokeMain(Main.java:477)
          at org.eclipse.jetty.start.Main.start(Main.java:623)
          at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273)
          at org.eclipse.jetty.start.Main.main(Main.java:81)
  </code></pre>
  
  <p>my xml file for spring social config:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  </code></pre>
  
  <p>http://www.springframework.org/schema/beans/spring-beans.xsd
       <a href="http://www.springframework.org/schema/context" rel="nofollow">http://www.springframework.org/schema/context</a> 
          <a href="http://www.springframework.org/schema/context/spring-context-3.0.xsd" rel="nofollow">http://www.springframework.org/schema/context/spring-context-3.0.xsd</a>
                             <a href="http://www.springframework.org/schema/aop" rel="nofollow">http://www.springframework.org/schema/aop</a> http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
      </p>
  
  <pre><code>&lt;bean id="twitterConnectionFactory"
      class="org.springframework.social.twitter.connect.TwitterConnectionFactory"&gt;
      &lt;constructor-arg name="consumerKey" value="${twitter.app.consumerKey}" /&gt;
      &lt;constructor-arg name="consumerSecret" value="${twitter.app.consumerSecret}" /&gt;
  &lt;/bean&gt;
  
  &lt;bean id="facebookConnectionFactory"
      class="org.springframework.social.facebook.connect.FacebookConnectionFactory"&gt;
      &lt;constructor-arg name="clientId" value="${facebook.app.clientId}" /&gt;
      &lt;constructor-arg name="clientSecret" value="${facebook.app.clientSecret}" /&gt;
  &lt;/bean&gt;
  &lt;bean id="connectionFactoryLocator"
      class="org.springframework.social.connect.support.ConnectionFactoryRegistry"&gt;
      &lt;property name="connectionFactories"&gt;
          &lt;list&gt;
              &lt;ref bean="twitterConnectionFactory" /&gt;
              &lt;ref bean="facebookConnectionFactory" /&gt;
          &lt;/list&gt;
      &lt;/property&gt;
  &lt;/bean&gt;
  
  &lt;bean name="tokenBasedRememberMeServices"
      class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices"&gt;
      &lt;property name="userDetailsService" ref="userDetailService" /&gt;
      &lt;property name="key" value="comsicomsa" /&gt;
  &lt;/bean&gt;
  &lt;bean id="usersConnectionRepository"
      class="com.myLogin.security.social.service.SocialUserServiceImpl" /&gt;
  &lt;bean id="connectionRepository" factory-method="createConnectionRepository"
      factory-bean="usersConnectionRepository" scope="request"&gt;
      &lt;constructor-arg value="#{request.userPrincipal.name}" /&gt;
      &lt;aop:scoped-proxy proxy-target-class="false" /&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p></p>
  
  <p>my POM:</p>
  
  <pre><code>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;com.myLogin.common&lt;/groupId&gt;
  &lt;artifactId&gt;SpringLoginApp&lt;/artifactId&gt;
  &lt;packaging&gt;war&lt;/packaging&gt;
  &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
  &lt;name&gt;SpringLoginApp Maven Webapp&lt;/name&gt;
  &lt;url&gt;http://maven.apache.org&lt;/url&gt;
  
  &lt;properties&gt;
      &lt;spring.version&gt;3.0.3.RELEASE&lt;/spring.version&gt;
      &lt;jcouchdb.version&gt;1.0.1-1&lt;/jcouchdb.version&gt;
      &lt;httpclient.version&gt;4.2-alpha1&lt;/httpclient.version&gt;
      &lt;svenson.version&gt;1.4.0&lt;/svenson.version&gt;
      &lt;junit.version&gt;4.10&lt;/junit.version&gt;
      &lt;log4j.version&gt;1.2.16&lt;/log4j.version&gt;
      &lt;freemarker.version&gt;2.3.16&lt;/freemarker.version&gt;
      &lt;javax-validation.version&gt;1.0.0.GA&lt;/javax-validation.version&gt;
      &lt;spring-social.version&gt;1.0.0.RELEASE&lt;/spring-social.version&gt;
      &lt;spring-social-twitter.version&gt;1.0.0.RELEASE&lt;/spring-social-twitter.version&gt;
      &lt;spring-social-facebook.version&gt;1.0.0.RELEASE&lt;/spring-social-facebook.version&gt;
  &lt;/properties&gt;
  
  &lt;dependencies&gt;
  
      &lt;!-- Spring 3 dependencies --&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-core&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-web&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-jdbc&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;!-- Spring Security --&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
          &lt;artifactId&gt;spring-security-core&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
          &lt;artifactId&gt;spring-security-web&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
          &lt;artifactId&gt;spring-security-openid&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
          &lt;artifactId&gt;spring-security-config&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-test&lt;/artifactId&gt;
          &lt;version&gt;${spring.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
  
  
      &lt;!-- Spring Social Core --&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
          &lt;artifactId&gt;spring-social-core&lt;/artifactId&gt;
          &lt;version&gt;${spring-social.version}&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;!-- Spring Social Web (contains login/signup controllers) --&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
          &lt;artifactId&gt;spring-social-web&lt;/artifactId&gt;
          &lt;version&gt;${spring-social.version}&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;!-- Spring Social Twitter --&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
          &lt;artifactId&gt;spring-social-twitter&lt;/artifactId&gt;
          &lt;version&gt;${spring-social-twitter.version}&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;!-- Spring Social Facebook --&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
          &lt;artifactId&gt;spring-social-facebook&lt;/artifactId&gt;
          &lt;version&gt;${spring-social-facebook.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;!-- Hibernate Validator --&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
          &lt;artifactId&gt;hibernate-validator&lt;/artifactId&gt;
          &lt;version&gt;4.2.0.Final&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;javax.validation&lt;/groupId&gt;
          &lt;artifactId&gt;validation-api&lt;/artifactId&gt;
          &lt;version&gt;1.0.0.GA&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.freemarker&lt;/groupId&gt;
          &lt;artifactId&gt;freemarker&lt;/artifactId&gt;
          &lt;version&gt;${freemarker.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
  
      &lt;dependency&gt;
          &lt;groupId&gt;junit&lt;/groupId&gt;
          &lt;artifactId&gt;junit&lt;/artifactId&gt;
          &lt;version&gt;${junit.version}&lt;/version&gt;
          &lt;scope&gt;test&lt;/scope&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt;
          &lt;artifactId&gt;httpclient&lt;/artifactId&gt;
          &lt;version&gt;${httpclient.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;com.google.code.jcouchdb&lt;/groupId&gt;
          &lt;artifactId&gt;jcouchdb&lt;/artifactId&gt;
          &lt;version&gt;${jcouchdb.version}&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
          &lt;artifactId&gt;spring-security-crypto&lt;/artifactId&gt;
          &lt;version&gt;3.1.0.RELEASE&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
          &lt;artifactId&gt;slf4j-log4j12&lt;/artifactId&gt;
          &lt;version&gt;1.6.1&lt;/version&gt;
      &lt;/dependency&gt;
  
  
      &lt;!-- Java Mail API --&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;javax.mail&lt;/groupId&gt;
          &lt;artifactId&gt;mail&lt;/artifactId&gt;
          &lt;version&gt;1.4.3&lt;/version&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
          &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
          &lt;version&gt;2.5&lt;/version&gt;
      &lt;/dependency&gt;
  
  
  &lt;/dependencies&gt;
  
  &lt;build&gt;
      &lt;finalName&gt;SpringLoginApp&lt;/finalName&gt;
      &lt;plugins&gt;
          &lt;plugin&gt;
              &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
              &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
              &lt;version&gt;2.3.2&lt;/version&gt;
              &lt;configuration&gt;
                  &lt;source&gt;1.6&lt;/source&gt;
                  &lt;target&gt;1.6&lt;/target&gt;
              &lt;/configuration&gt;
          &lt;/plugin&gt;
      &lt;/plugins&gt;
  &lt;/build&gt;
  </code></pre>
  
  <p></p>