0


SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!

SSM整合

1.1 流程分析

(1) 创建工程

  • 创建一个Maven的web工程
  • pom.xml添加SSM需要的依赖jar包
  • 编写Web项目的入口配置类,实现AbstractAnnotationConfigDispatcherServletInitializer重写以下方法。 - getRootConfigClasses() :返回Spring的配置类->需要SpringConfig配置类。- getServletConfigClasses() :返回SpringMVC的配置类->需要SpringMvcConfig配置类。- getServletMappings() : 设置SpringMVC请求拦截路径规则。- getServletFilters() :设置过滤器,解决POST请求中文乱码问题。

(2)SSM整合[重点是各个配置的编写]。

  • SpringConfig - 标识该类为配置类 @Configuration。- 扫描Service所在的包 @ComponentScan。- 在Service层要管理事务 @EnableTransactionManagement。- 读取外部的properties配置文件 @PropertySource。- 整合Mybatis需要引入Mybatis相关配置类 @Import。 - 第三方数据源配置类 JdbcConfig。 - 构建DataSource数据源,DruidDataSouroce,需要注入数据库连接四要素, @Bean @Value。- 构建平台事务管理器,DataSourceTransactionManager,@Bean。- Mybatis配置类 MybatisConfig - 构建SqlSessionFactoryBean并设置别名扫描与数据源,@Bean。- 构建MapperScannerConfigurer并设置DAO层的包扫描。
  • SpringMvcConfig - 标识该类为配置类 @Configuration。- 扫描Controller所在的包 @ComponentScan。- 开启SpringMVC注解支持 @EnableWebMvc。

1.2 整合配置

掌握上述的知识点后,接下来,我们就可以按照上述的步骤一步步的来完成SSM的整合。

步骤1:创建Maven的web项目

可以使用Maven的骨架创建
在这里插入图片描述

步骤2:添加依赖

pom.xml添加SSM所需要的依赖jar包

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.itheima</groupId><artifactId>springmvc_08_ssm</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>80</port><path>/</path></configuration></plugin></plugins></build></project>

步骤3:创建项目包结构

  • config目录存放的是相关的配置类。
  • controller编写的是Controller类。
  • dao存放的是Dao接口,因为使用的是Mapper接口代理方式,所以没有实现类包。
  • service存的是Service接口,impl存放的是Service实现类。
  • resources:存入的是配置文件,如Jdbc.properties。
  • webapp:目录可以存放静态资源。
  • test/java:存放的是测试类。

步骤4:创建SpringConfig配置类

@Configuration@ComponentScan({"com.itheima.service"})@PropertySource("classpath:jdbc.properties")@Import({JdbcConfig.class,MyBatisConfig.class})@EnableTransactionManagementpublicclassSpringConfig{}

步骤5:创建JdbcConfig配置类

publicclassJdbcConfig{@Value("${jdbc.driver}")privateString driver;@Value("${jdbc.url}")privateString url;@Value("${jdbc.username}")privateString username;@Value("${jdbc.password}")privateString password;@BeanpublicDataSourcedataSource(){DruidDataSource dataSource =newDruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);return dataSource;}@BeanpublicPlatformTransactionManagertransactionManager(DataSource dataSource){DataSourceTransactionManager ds =newDataSourceTransactionManager();
        ds.setDataSource(dataSource);return ds;}}

步骤6:创建MybatisConfig配置类

publicclassMyBatisConfig{@BeanpublicSqlSessionFactoryBeansqlSessionFactory(DataSource dataSource){SqlSessionFactoryBean factoryBean =newSqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        factoryBean.setTypeAliasesPackage("com.itheima.domain");return factoryBean;}@BeanpublicMapperScannerConfigurermapperScannerConfigurer(){MapperScannerConfigurer msc =newMapperScannerConfigurer();
        msc.setBasePackage("com.itheima.dao");return msc;}}

步骤7:创建jdbc.properties

在resources下提供jdbc.properties,设置数据库连接四要素

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_db
jdbc.username=root
jdbc.password=root

步骤8:创建SpringMVC配置类

@Configuration@ComponentScan("com.itheima.controller")@EnableWebMvcpublicclassSpringMvcConfig{}

步骤9:创建Web项目入口配置类

publicclassServletConfigextendsAbstractAnnotationConfigDispatcherServletInitializer{//加载Spring配置类protectedClass<?>[]getRootConfigClasses(){returnnewClass[]{SpringConfig.class};}//加载SpringMVC配置类protectedClass<?>[]getServletConfigClasses(){returnnewClass[]{SpringMvcConfig.class};}//设置SpringMVC请求地址拦截规则protectedString[]getServletMappings(){returnnewString[]{"/"};}//设置post请求中文乱码过滤器@OverrideprotectedFilter[]getServletFilters(){CharacterEncodingFilter filter =newCharacterEncodingFilter();
        filter.setEncoding("utf-8");returnnewFilter[]{filter};}}

至此SSM整合的环境就已经搭建好了。

后记
👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹

标签: spring mvc mybatis

本文转载自: https://blog.csdn.net/m0_59230408/article/details/133963969
版权归原作者 失重外太空. 所有, 如有侵权,请联系我们删除。

“SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!”的评论:

还没有评论