欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SSM框架整合

程序员文章站 2022-04-02 11:16:09
SSM框架整合1.1 原始方式整合1.准备工作2.创建Maven工程3.导入Maven坐标参考:素材/配置文件/pom.xml文件4.编写实体类public class Account { private int id; private String name; private double money; //省略getter和setter方法}5.编写Mapper接口public interface AccountMa....

一、准备工作

1.创建项目文件夹,并用IDE打开

2.创建Maven工程 模块 并创建相应的包

SSM框架整合

关于创建maven工程的GroupId和ArtfactId

  1. groupId
    定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
    groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织,cn表示域为中国。

  2. artifactId
    定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。
    该元素定义实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目的名称作为artifactId的前缀。
    如:nexus-indexer
    在默认情况下,maven生成的构件,其文件名会以artifactId作为开头,如:nexus-indexer-2.0.0.jar。

  3. version
    指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。

  4. name
    声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。

3. 创建webapp

  1. 点击file-项目结构
  2. 添加web
    SSM框架整合
  3. 修改webapp路径
    SSM框架整合

4. 导入Maven坐标

解决Intellij IDEA Tomcat启动项目报错:java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

SSM框架整合
这是由于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