不论是SSH还是SSM,只要是JavaWeb项目,就要和配置文件打交道.特别是Spring,这个框架是JavaWeb的重中之重,在Spring中写配置文件可以让你更关注于业务逻辑,而不是配置,所以许多框架都提供了对它的支持,他也一直是初学者们最揪心的地方.就下来,我们就来讲讲SSM中Spring.xml和mybatisConfig.xml这连个配置文件的作用和使用.
一:创建spring-servlet.xml
<context:component-scan base-package="com.jacx.web.action" />
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<util:list id="beanList">
<ref bean="mappingJacksonHttpMessageConverter" />
util:list>
property>
bean>
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8value>
list>
property>
bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/content/" />
<property name="suffix" value=".jsp" />
bean>
可以看到mybatisConfig.xml已经被这个文件替代了这个配置文件仅仅储存了一些概括性的东西,其他的描述信息我们专注于在Spring中实现
2.创建Spring-*.xml 我写的是spring-bean.xml
三:在web.xml中加入spring-*.xml
SSMComputer
index.jsp
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-servlet.xml
1
springmvc
/
contextConfigLocation
classpath:spring-bean.xml
org.springframework.web.context.ContextLoaderListener
default
*.js
*.css
/images/*
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
为什么要使用Spring来代替MybatisConfig进行配置呢?就是为了体现约定大于配置的编程理念.还记得在Mybatis的单独案例中,我们的配置文件对于entity别名和加载mapper配置文件是怎么配置的吗?
通过 标签
<typeAlias type="com.jacx.entity.Emp" alias="emp" />
"com/jacx/config/empMapper.xml" />
在真实的项目中我们可能有几十上百张表,如果关注与别名和mapper的映射,是非常消耗时间和精力的.
但是有了Spring,一切变得不同了,我们只需要使用
<property name="typeAliasesPackage" value="com.jacx.seckill.entity"/>
<property name="mapperLocation" value="classpath:mapper/*.xml"/>
他就可以自动将实体类名作为别名,自动加载mapper文件夹下的所有xml文件.这就是约定大于配置.