SSM快速整合实现
程序员文章站
2022-05-04 09:55:29
...
1. 项目资源整合实现
前言:
笔者是基于注解方式实现的SSM整合
项目所需依赖:
所需jar包可以去 https://mvnrepository.com/ 下载。
1.1 配置架构分析
配置架构图:
● 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整合完毕,接下来小伙伴们就可以来写业务模块了,祝你们早日成为大神。
上一篇: JDBC