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

SSM快速整合实现

程序员文章站 2022-05-04 09:55:29
...

1. 项目资源整合实现

前言:

   笔者是基于注解方式实现的SSM整合

项目所需依赖:
SSM快速整合实现
所需jar包可以去 https://mvnrepository.com/ 下载。

1.1 配置架构分析

配置架构图:
SSM快速整合实现
● SpringRepositoryConfig是负责数据层配置
● SpringServiceConfig是负责业务层配置
● SpringWevConfig是负责请求处理层(控制层和视图层)配置
● WebInitializer是负责启动初始化(相当于web.xml文件)
创建配置类:

//数据层配置类
package com.wtl.common.config;
@Configuration
@MapperScan("com.wtl.goods.dao")//扫描dao
public class SpringRepositoryConfig {
}

//业务层配置类
package com.wtl.common.config;
@Configuration
@ComponentScan("com.wtl.goods.service")
public class SpringServiceConfig {
	
}

//控制层配置类
package com.wtl.common.config;
@Configuration
@EnableWebMvc
@ComponentScan("com.wtl.goods.controller")
public class SpringWebConfig implements WebMvcConfigurer{

}

//启动类配置->web.xml
package com.wtl.common.config;
public class WebInitializer extends 
AbstractAnnotationConfigDispatcherServletInitializer {
	//Service,Repository
	@Override
	protected Class<?>[] getRootConfigClasses() {
		System.out.println("getRootConfigClasses()");
		return new Class[] {SpringRepositoryConfig.class,
SpringServiceConfig.class};
	}
	//View,Controller
	@Override
	protected Class<?>[] getServletConfigClasses() {
		System.out.println("getServletConfigClasses()");
		return new Class[] {SpringWebConfig.class};
	}
	//过滤
	@Override
	protected String[] getServletMappings() {
		System.out.println("getServletMappings()");
		return new String[] {"/"};
	}

}

1.2 整合连接池对象

ps: 笔者在这用的是DruidDataSource连接池

在SpringRepositoryConfig 类中添加dataSource()方法,在方法中创建DruidDataSource对象,并将此对象交给spring管理。

@Bean(value="druid",initMethod="initing",destroyMethod="closed")
	public DruidDataSource dataSource() {
		DruidDataSource ds=new DruidDataSource();
		ds.setUrl("jdbc:mysql:///dbgoods?serverTimezone=GMT%2B8");
		ds.setUsername("root");
		ds.setPassword("root");
		return ds;
	}


1.3 整合mybatis框架

在SpringRepositoryConfig类中添加创建SqlSessionFactory对象创建的方法。

@Bean("sqlSessionFactory")
	public SqlSessionFactory sqlSessionFactory(
			DataSource dataSource) 
			throws Exception {
	  //创建SqlSessionFactoryBean对象
	  SqlSessionFactoryBean factoryBean =
	  new SqlSessionFactoryBean();
	  factoryBean.setDataSource(dataSource);
	  //调用FactoryBean的getObject方法创建SqlSessionFactory
	  //底层会使用SqlSessionFactoryBuilder创建
	  return factoryBean.getObject();
	}

1.4 整合Spring MVC模块

在SpringWebConfig配置类中添加视图解析配置,默认servlet处理等配置。

package com.wtl.common.config;

@Configuration 
@ComponentScan("com.wtl.goods.controller")
@EnableWebMvc //<mvc:annotation-driven/>
public class SpringWebConfig implements WebMvcConfigurer{
	//<mvc:default-servlet-handler/>
	@Override
	public void configureDefaultServletHandling(
			DefaultServletHandlerConfigurer configurer) {
		configurer.enable();
	}
	@Override
	public void configureViewResolvers(
		ViewResolverRegistry registry) {
		registry.jsp("/WEB-INF/pages/",".html");
	}
}

SSM整合完毕,接下来小伙伴们就可以来写业务模块了,祝你们早日成为大神。

相关标签: java进阶