ssm整合 spring+springMvc+mybatis简单demo 全部的jar文件(一)

12 篇文章 0 订阅
4 篇文章 0 订阅

首先需要创建一个工程,创建成下图的层次
在这里插入图片描述
添加jar包
在这里插入图片描述
jar下载路径:`链接:https://pan.baidu.com/s/1yRkk-O792yNoexWciJd_DA
提取码: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.apache.commons.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 {
	@Autowired
	private UserService userService;
	@RequestMapping("/test.action")
	public @ResponseBody User test(int id){
		return userService.findUserById(id);
	}

}

B:建一个service

@Service
public class UserServiceImpl implements UserService{
	@Autowired
	private UserMapper userMapper;
	@Override
	public User findUserById(int id) {
		// TODO Auto-generated method stub
		return userMapper.selectByPrimaryKey(id);
	}

}

C:其余反向创建工程

写demo注意的事项:
Controller层一定要写注解@Controller,@Autowired注解
service层一定要写注解:@Service,@Autowired注解


部署启动项目,当出现json格式的页面,代表成功。
在这里插入图片描述
完整项目下载地址:
链接:https://pan.baidu.com/s/1dHWV_TD0vEgIAkp2y9hDaw
提取码:qgo0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值