我们继续昨天的进度
下面是pom.xml中相关参数
<properties> <maven.test.skip>false</maven.test.skip> <hibernate.annotations.version>3.3.0.ga</hibernate.annotations.version> <blazeds.version>3.0.0.544</blazeds.version> <junit.version>4.4</junit.version> <spring.version>2.5.6</spring.version> <!-- Database settings --> <dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactory</dbunit.dataTypeFactoryName> <dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type> <hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect> <jdbc.groupId>mysql</jdbc.groupId> <jdbc.artifactId>mysql-connector-java</jdbc.artifactId> <jdbc.version>5.0.5</jdbc.version> <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName> <jdbc.url><![CDATA[jdbc:mysql://localhost:3306/accountbook?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8]]></jdbc.url> <jdbc.username>root</jdbc.username> <jdbc.password></jdbc.password> </properties>
然后我们需要在src/main/resources下面增加2个配置文件hibernate.cfg.xml,jdbc.properties,具体功能我就不说了,相信大家都明白。此代码请参考我最后上传的项目源码
接下来很显然我们还缺一个applicationContext.xml文件,同样在src/main/resources下新建,代码如下:
<?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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:flex="http://www.springframework.org/schema/flex" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"> <!-- Properties file --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- Datasource --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> ${hibernate.dialect} </prop> <prop key="hibernate.query.substitutions">true</prop> <prop key="hibernate.cache.use_second_level_cache"> org.hibernate.cache.EhCacheProvider </prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.jdbc.batch_size">50</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="transactionAttributes"> <props> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="create*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="find*">PROPAGATION_REQUIRED</prop> <prop key="get*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 这个配置用于处理flex消息 --> <flex:message-broker /> <!-- Add new DAOs here --> <bean id="userDAO" class="com.zhjj.zhangben.dao.impl.UserDAOImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- Add new Services here --> <bean id="userService" class="com.zhjj.zhangben.service.impl.UserServiceImpl"> <property name="userDAO" ref="userDAO" /> </bean> </beans>
同时我还配了dao和service,此处我做的是登陆的例子。在后面我会讲到。
现在我们还需要一个很重要的配置文件,在WEB-INF/flex/services-config.xml,新建此文件加入代码:
<?xml version="1.0" encoding="UTF-8"?> <services-config> <services> <default-channels> <channel ref="my-amf" /> </default-channels> </services> <channels> <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel"> <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint" /> </channel-definition> <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel"> <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint" /> <properties> <polling-enabled>true</polling-enabled> <polling-interval-seconds>4</polling-interval-seconds> </properties> </channel-definition> </channels> </services-config>
差点忘了还有个src/test/resources/sample-data.xml配置文件用来初始化数据库数据
<?xml version="1.0" encoding="UTF-8"?> <dataset> <table name="USERS"> <column>ID</column> <column>USERNAME</column> <column>PASSWORD</column> <row> <value description="ID">1</value> <value description="USERNAME">xjj</value> <value description="PASSWORD">111</value> </row> <row> <value description="ID">2</value> <value description="USERNAME">xjj1</value> <value description="PASSWORD">111</value> </row> <row> <value description="ID">3</value> <value description="USERNAME">xjj2</value> <value description="PASSWORD">111</value> </row> <row> <value description="ID">4</value> <value description="USERNAME">xjj3</value> <value description="PASSWORD">111</value> </row> <row> <value description="ID">5</value> <value description="USERNAME">xjj4</value> <value description="PASSWORD">111</value> </row> </table> </dataset>
最后一个配置文件web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>zhangben</display-name> <servlet> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/applicationContext.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Map /spring/* requests to the DispatcherServlet --> <servlet-mapping> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <url-pattern>/spring/*</url-pattern> </servlet-mapping> </web-app>
其实我很不喜欢如此繁多的配置文件,但是没办法谁让我们吃这碗饭呢!
以上便是Java端所有的配置文件,下一节中我将穿插一个登陆的例子。