No artigo anterior, implementamos as classes Java e organizamos elas em várias camadas. Nesse artigo, iremos escrever os arquivos de configuração, que são principalmente documentos XML.
Índice de conteúdo
Parte 1: Introdução e Especificações funcionais
Parte 2: Configuração do MongoDB
Parte 3: Classes Java
Parte 4: Configuração do arquivos XML
Parte 5: Arquivos HTML (com AJAX)
Parte 6: Executando a aplicação
Configuração
Para ativar o repositório do MongoDB, incluindo o suporte a modelos, temos que declarar os seguintes beans:
- um repositório Mongo
- um hospedeiro Mongo
- um modelo Mongo
- Opcionalmente, declaramos um InitMongoService para popular automaticamente nosso banco de dados com dados de exemplo
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:p=”http://www.springframework.org/schema/p”
xmlns:c=”http://www.springframework.org/schema/c”
xmlns:tx=”http://www.springframework.org/schema/tx”
xmlns:context=”http://www.springframework.org/schema/context”
xmlns:mongo=”http://www.springframework.org/schema/data/mongo”
xmlns:util=”http://www.springframework.org/schema/util”
xsi:schemaLocation=”
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.1.xsd”>
<context:property-placeholder properties-ref=”deployProperties” />
<!– Activate Spring Data MongoDB repository support –>
<mongo:repositories base-package=”org.krams.repository” />
<!– MongoDB host –>
<mongo:mongo host=”${mongo.host.name}” port=”${mongo.host.port}”/>
<!– Template for performing MongoDB operations –>
<bean id=”mongoTemplate” class=”org.springframework.data.mongodb.core.MongoTemplate”
c:mongo-ref=”mongo” c:databaseName=”${mongo.db.name}”/>
<!– Service for initializing MongoDB with sample data using MongoTemplate –>
<bean id=”initMongoService” class=”org.krams.service.InitMongoService” init-method=”init”/>
</beans>
Para a conexão MongoDB, extraímos as propriedades do banco de dados em um arquivo separado.
# database properties
mongo.db.name=spring_mongodb_tutorial
mongo.host.name=localhost
mongo.host.port=27017
Finalmente, abaixo segue o arquivo applicationContext.xml de nossa aplicação:
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:context=”http://www.springframework.org/schema/context”
xmlns:p=”http://www.springframework.org/schema/p”
xmlns:mvc=”http://www.springframework.org/schema/mvc”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd”>
<context:property-placeholder properties-ref=”deployProperties” />
<!– Activates various annotations to be detected in bean classes –>
<context:annotation-config />
<!– Scans the classpath for annotated components that will be auto-registered as Spring beans.
For example @Controller and @Service. Make sure to set the correct base-package –>
<context:component-scan base-package=”org.krams” />
<!– Configures the annotation-driven Spring MVC Controller programming model.
Note that, with Spring 3.0, this tag works in Servlet MVC only! –>
<mvc:annotation-driven />
<mvc:resources mapping=”/resources/**” location=”/resources/” />
<!– Imports logging configuration –>
<import resource=”trace-context.xml”/>
<!– Imports datasource configuration –>
<import resource=”spring-data.xml”/>
<bean id=”deployProperties” class=”org.springframework.beans.factory.config.PropertiesFactoryBean”
p:location=”/WEB-INF/spring.properties” />
</beans>