您的位置:首页 > 编程语言 > Java开发

myeclipse10创建maven springmvc项目3

2014-08-12 13:49 197 查看
编辑

applicationContext.xml和spring-mvc.xml。

一、配置applicationContext.xml

1)定义组件扫描

<!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 -->

<context:component-scan base-package="com.qctc.pds">

<context:exclude-filter type="annotation"

expression="org.springframework.stereotype.Controller" />

<context:exclude-filter type="annotation"

expression="org.springframework.web.bind.annotation.ControllerAdvice" />

</context:component-scan>

2)定义数据库参数信息

<!-- 在不同开发阶段可以切换数据库参数信息,不需要重复写数据库参数信息 -->

<context:property-placeholder

ignore-resource-not-found="true" location="classpath*:/database.properties" />

在/src/main/resources目录下建database.properties

3)配置数据源信息

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

init-method="init" destroy-method="close">

<!-- 基本属性 url、user、password -->

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

<!-- 配置初始化大小、最小、最大 -->

<property name="initialSize" value="${druid.initialSize}" />

<property name="minIdle" value="${druid.minIdle}" />

<property name="maxActive" value="${druid.maxActive}" />

<!-- 配置获取连接等待超时的时间 -->

<property name="maxWait" value="${druid.maxWait}" />

<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->

<property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" />

<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->

<property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" />

<property name="validationQuery" value="${druid.validationQuery}" />

<property name="testWhileIdle" value="${druid.testWhileIdle}" />

<property name="testOnBorrow" value="${druid.testOnBorrow}" />

<property name="testOnReturn" value="${druid.testOnReturn}" />

<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->

<property name="poolPreparedStatements" value="${druid.poolPreparedStatements}" />

<property name="maxPoolPreparedStatementPerConnectionSize"

value="${druid.maxPoolPreparedStatementPerConnectionSize}" />

<!-- 配置监控统计拦截的filters -->

<property name="filters" value="${druid.filters}" />

</bean>

4)配置内置事务管理

<bean id="txManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource" />

</bean>

5)配置注解驱动

<tx:annotation-driven transaction-manager="transactionManager" />对@Transactional这个注解进行的驱动,这是基于注解的方式使用事务配置声明,这样在具体应用中可以指定对哪些方法使用事务

<tx:annotation-driven transaction-manager="txManager" />

6)配置jdbc模板

<!--配置一个JdbcTemplate实例,并将这个“共享的”,“安全的”实例注入到不同的DAO类中去-->

<bean id="defaultJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property name="dataSource" ref="dataSource" />

</bean>

二、配置spring-mvc.xml。

1)定义组件扫描

<!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 -->

<context:component-scan base-package="com.qctc.pds">

<context:exclude-filter type="annotation"

expression="org.springframework.stereotype.Controller" />

<context:exclude-filter type="annotation"

expression="org.springframework.web.bind.annotation.ControllerAdvice" />

</context:component-scan>

2)在spring-mvc.xml中添加<mvc:annotation-driven>就能使用springmvc的注解驱动特性。

<mvc:annotation-driven

content-negotiation-manager="contentNegotiationManager">

<mvc:message-converters register-defaults="true">

<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->

<bean class="org.springframework.http.converter.StringHttpMessageConverter">

<constructor-arg value="UTF-8" />

</bean>

<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->

<bean

class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

<property name="prettyPrint" value="true" />

</bean>

</mvc:message-converters>

</mvc:annotation-driven>

3)

<!-- REST中根据URL后缀自动判定Content-Type及相应的View -->

<bean id="contentNegotiationManager"

class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">

<property name="mediaTypes">

<value>

json=application/json

xml=application/xml

</value>

</property>

</bean>

4)

<!-- 定义JSP文件的位置 -->

<bean

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/jsp/" />

<property name="suffix" value=".jsp" />

</bean>

<!-- 容器默认的DefaultServletHandler处理 所有静态内容与无RequestMapping处理的URL -->

<mvc:default-servlet-handler />

<!-- 将Controller抛出的异常转到特定View, 保持SiteMesh的装饰效果 -->

<bean

class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">

<property name="exceptionMappings">

<props>

<prop key="org.apache.shiro.authz.UnauthorizedException">error/403</prop>

<prop key="java.lang.Throwable">error/500</prop>

</props>

</property>

</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: