Spring的配置文件
Web.xml将会配置Spring的配置文件位置:
<servlet>
<servlet-name>x</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:x-servlet.xml</param-value>
</init-param>
</servlet>
这样就会到classes下面去找x-servlet.xml来进行配置。
x-servlet.xml里面包含了几个部分:
1. 静态资源,默认基于springmvc的工程是不允许访问静态资源,比如js,.jpge等,需要指定静态资源文件夹,这样,该文件夹下面的资源可以被访问:
<mvc:resources mapping="/resources/**" location="/resources/" />
2. 注解类进行自动加载,抛弃了之前的配置(applicationContext.xml),基于注解的模式把开发人员的体力释放出来了。在这些文件夹下面定义的@Controller, @Resource等注解将会被自动加载到Spring容器中进行管理。
<context:component-scan base-package="lorrywork.emall.domain"/>
3. 定义Bean,bean分为几类:
3.1 定义了JSP-Bean页面位置,从这个开始,就是定义bean了,bean分为几类
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".jsp" />
</bean>
3.2 定义Jdbc-Bean,这里注意定义了context:property-placeholder,这个好处是只需要定义数据库信息在一个地方。比如对于servlet-init阶段,无法通过spring-mybatis,可能需要直接使用JDBC,这样只需要在properties中定义一次,既可以直接让JDBC访问,也可以让后续的mybatise从该配置文件中获取数据库信息,这样只需要定义一个地方即可。
<context:property-placeholder location="classpath:config.properties"/>
<bean id="jdbcDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${dburl}" />
<property name="username" value="${uid}" />
<property name="password" value="${pwd}" />
</bean>
3.3 mybatis
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="jdbcDataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath*:lorrywork/emall/dao/map/*/*.xml" />
</bean>
<!-- DAO类(Mapper类)接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="lorrywork.emall.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
最新文章
- Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法
- Python之路,Day8 - Python基础 面向对象高级进阶与socket基础
- 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】
- knockout源码分析之执行过程
- C#调用c++的dll报错:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏“
- POJ 1191 棋盘分割
- 解决 Android SDK Manager不能下载旧版本的sdk的问题
- 算法起步之Prim算法
- 【Android】-- adb shell 命令探索
- .NET平台技术体系
- opencart 图片管理器 500错误
- mysql window版本下载
- 通过grub-install命令把grub安装到u盘
- 支持向量机(SVM)之数学公式详细推导
- SpringBoot+Mybatis+Pagehelper分页
- MyEclipse中如何配置默认jsp为UTF-8格式
- ASP.NET应用技巧:非托管COM组件的使用
- consul vs etcd3
- 关于Android中Animation的停止【转载】
- Java API方式调用Kafka各种协议