SSM框架整合
一、准备工作
1.创建项目文件夹,并用IDE打开
2.创建Maven工程 模块 并创建相应的包
关于创建maven工程的GroupId和ArtfactId
-
groupId
定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织,cn表示域为中国。 -
artifactId
定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。
该元素定义实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目的名称作为artifactId的前缀。
如:nexus-indexer
在默认情况下,maven生成的构件,其文件名会以artifactId作为开头,如:nexus-indexer-2.0.0.jar。 -
version
指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。 -
name
声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
3. 创建webapp
- 点击file-项目结构
-
添加web
-
修改webapp路径
4. 导入Maven坐标
解决Intellij IDEA Tomcat启动项目报错:java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener
这是由于pom.xml中下载的jar包未被部署。先打开项目结构,选择Artifacts,选择要打包部署的项目,在Output Layout –> Web-INF查看是否有lib目录,如果右边Available Elements窗口还显示有jar包,说明这些jar包未添加,则应右击选择Put into Output Root,这样就OK啦~
二、开发步骤
1. 编写实体类,Mapper接口,Service接口及其实现,Controller,页面
2. 编写相应配置文件
•Spring配置文件:applicationContext.xml
•SprngMVC配置文件:spring-mvc.xml
•MyBatis映射文件:xxxMapper.xml
•MyBatis核心文件:sqlMapConfig.xml
•数据库连接信息文件:jdbc.properties
•Web.xml文件
•日志文件:log4j.xml
三、Spring整合MyBatis
1. 将SqlSessionFactory配置到Spring容器中
<!--加载jdbc.properties-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--配置MyBatis的SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean>
2. 扫描Mapper,让Spring容器产生Mapper实现类
<!--配置Mapper扫描-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.itheima.mapper"/>
</bean>
3. 配置声明式事务控制
<!--配置声明式事务控制-->
<bean id="transacionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transacionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="txPointcut" expression="execution(* com.itheima.service.impl.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config>
4. 整合之后sqlMapConfig-spring.xml
只剩下定义别名
5. 修改Service实现类的代码
@Service("accountService")
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountMapper accountMapper;
public void save(Account account) {
accountMapper.save(account);
}
public List<Account> findAll() {
return accountMapper.findAll();
}
}
本文地址:https://blog.csdn.net/weixin_49230318/article/details/109278856
推荐阅读
-
使用IDEA配置Maven搭建开发框架ssm教程
-
Python爬虫框架Scrapy实战之批量抓取招聘信息
-
asp.net在iis7中更改网站的.net framework框架版本的方法(图)
-
Spring mvc整合tiles框架的简单入门教程(maven)
-
Spring + Spring Boot + MyBatis + MongoDB的整合教程
-
redis与ssm整合方法(mybatis二级缓存)
-
spring mvc 组合mybatis框架实例详解
-
Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)
-
使用JSCH框架通过跳转机访问其他节点的方法
-
Objective-C的缓存框架EGOCache在iOS App开发中的使用