简单demo 全部的jar文件(一)"/>
ssm整合 spring+springMvc+mybatis简单demo 全部的jar文件(一)
首先需要创建一个工程,创建成下图的层次
添加jar包
jar下载路径:`链接:
提取码:7gcz
一)配置mybatis.xml文件,只需要配置别名
由于需要spring来创建和管理数据源,所以mybatis就不需要创建数据源了,并且spring负责实例化sqlSessionFactory以及各个mapper接口的动态代理对象,此处不需要加载mapper文件。
<configuration><!-- 指定包下面的实体类,别名为小写 --><typeAliases><package name="com.oracle.ssm.model" /><package name="com.oracle.ssm.vo" /></typeAliases>
</configuration>
二)配置springmvc.xml文件只需要配置注解扫描器(视图解析器,文件上传解析器,拦截器,静态资源释放后期再说)
<!-- 配置注解扫描器的路径 扫描器会扫描到指定包路径下所有的类,一旦该类标识controller注解,就会被实例化 一旦方法被标识了requestMapping注解,会把url路径和方法的类路径,保存到 处理器映射器当中 --><context:component-scan base-package="com.oracle.ssm.controller"></context:component-scan>
三)配置spring-mybatis.xml文件:
【1加载jdbc.properties文件;2实例化数据库连接池;3创建sqlSessionFactory;4创建mapper接口对应代理对象;5配置spring注解扫描器】
a.加载jdbc.properties文件,注意location的路径
<!-- mybatis的数据源交给spring的ioc容器来创建 --><!-- 读取工程下面的properties文件 --><context:property-placeholder location="classpath:jdbc/jdbc.properties" />
b:数据源,配置连接池
<!--实例化数据库连接池、数据源 --><!-- 配置mybatis的数据源 使用的是dbcp数据库连接池 常用的数据库连接池 c3p0 dbcp druid --><bean id="dataSource" class="org.apachemons.dbcp.BasicDataSource"destroy-method="close"><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>
c:创建sqlSessionFactory
<!-- 既然有了数据源,那么就可以让spring容器来创建sqlSessionFactory 需要加载mybatis.xml以及mapper.xml,还需要数据源 --><!-- sqlSessinFactory在mybatis单独使用的时候 咱们封装了一个工具类来获取该单例,但是和spring整合之后 完全交给spring的ioc容器来实例化该对象 3个参数:1:mybatis的核心配置文件在哪 2:mybatis的mapper文件在哪 3:数据源是谁 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 加载mybatis的核心配置文件 --><property name="configLocation" value="classpath:mybatis/mybatis.xml" /><!-- 数据源 --><property name="dataSource" ref="dataSource" /><!-- 映射文件位置 --><property name="mapperLocations" value="classpath:com/oracle/ssm/mapper/*.xml"></property></bean>
d:创建mapper接口对应代理对象
<!-- 有了sqlSessionFactory 就可以open一个sqlSession, 那么有了sqlSession,就可以让spring提前创建每一个mapper接口对应的代理对象 --><!-- mybatis-spring-1.3.0.jar,提供了 自动生成mapper代理对象的机制, 只需要配置mapper接口的包路径 和sqlsessionfactory --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.oracle.ssm.mapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean>
完成以上步骤整合就结束了
e:配置spring的注解扫描器,扫描service层
<!-- 配置spring的注解扫描器,扫描service层 --><!-- 配置spring的注解扫描器,注意 不扫描controller注解 --><context:component-scan base-package="com.oracle.ssm.service"><context:exclude-filter type="annotation"expression="org.springframework.stereotype.Controller" /></context:component-scan>
四)配置web.xml【springMvc核心控制器,模糊匹配,编码过滤;配置spring监听器(监听读取配置文件的位置 ,监听ioc容器的创建工作)】
a:springMvc核心控制器,模糊匹配,编码过滤
<servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!-- 配置框架启动参数 参数路径是springmvc的配置文件的路径 --><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param></servlet><!-- 配置模糊匹配路径 --><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><!-- 统一编码的过滤器 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
b:配置上下文参数,指定spring监听器读取配置文件的位置
<!-- 配置上下文参数,指定spring监听器读取配置文件的位置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mybatis.xml</param-value></context-param><!-- 该监听器会监听ioc容器的创建工作 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
接下来写一个demo测试:使用generatorSqlmapCustom生成(省略)
A:写一个TestController
@Controller
public class TestController {@Autowiredprivate UserService userService;@RequestMapping("/test.action")public @ResponseBody User test(int id){return userService.findUserById(id);}}
B:建一个service
@Service
public class UserServiceImpl implements UserService{@Autowiredprivate UserMapper userMapper;@Overridepublic User findUserById(int id) {// TODO Auto-generated method stubreturn userMapper.selectByPrimaryKey(id);}}
C:其余反向创建工程
写demo注意的事项:
Controller层一定要写注解@Controller,@Autowired注解
service层一定要写注解:@Service,@Autowired注解
部署启动项目,当出现json格式的页面,代表成功。
完整项目下载地址:
链接:
提取码:qgo0
更多推荐
ssm整合 spring+springMvc+mybatis简单demo 全部的jar文件(一)
发布评论