<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

	<!-- DispatcherServlet Context: defines this servlet's request-processing 
		infrastructure -->

	<!-- Enables the Spring MVC @Controller programming model -->
	<annotation-driven />

	<!-- Handles HTTP GET requests for /resources/** by efficiently serving 
		up static resources in the ${webappRoot}/resources directory -->
	<resources mapping="/resources/**" location="/resources/" />


	
	<!-- Resolves views selected for rendering by @Controllers to .jsp resources 
		in the /WEB-INF/views directory -->
	<beans:bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="prefix" value="/WEB-INF/views/" />
		<beans:property name="suffix" value=".jsp" />
	</beans:bean>
	
	<context:component-scan base-package="org.tenvoorde.psalmenweb" />

	<!-- JDBC Data Source. It is assumed you have MySQL running on localhost 
		port 3306 with username root and blank password. Change below if it's not 
		the case -->
	<beans:bean id="psalmenDataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<beans:property name="url"
			value="jdbc:mysql://tenvoorde.org:3306/psalmenweb" />
		<beans:property name="username" value="psalmenonline" />
		<beans:property name="password" value="zMhMipovKFgc1m8n" />
		<beans:property name="validationQuery" value="SELECT 1" />
	</beans:bean>

	<!-- Hibernate Session Factory -->
	<beans:bean id="psalmenSessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<beans:property name="dataSource" ref="psalmenDataSource" />
		<beans:property name="annotatedClasses">
			<beans:list>
				<beans:value>org.tenvoorde.psalmenweb.domain.Psalmregel</beans:value>
				<beans:value>org.tenvoorde.psalmenweb.domain.CatechismusVraag</beans:value>
			</beans:list>
		</beans:property>
		<beans:property name="packagesToScan">
			<beans:array>
				<beans:value>org.tenvoorde.psalmenweb.dao</beans:value>
			</beans:array>
		</beans:property>
		<beans:property name="hibernateProperties">
			<beans:value>
				hibernate.dialect=org.hibernate.dialect.MySQLDialect
			</beans:value>
		</beans:property>
	</beans:bean>

	<!-- Hibernate Transaction Manager -->
	<beans:bean id="transactionManager"
		class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<beans:property name="sessionFactory" ref="psalmenSessionFactory" />
	</beans:bean>

	<!-- Activates annotation based transaction management -->
	<tx:annotation-driven transaction-manager="transactionManager" />

</beans:beans>
