我是阿福,公众号「阿福聊编程」作者,一个在后端技术路上摸盘滚打的程序员,在进阶的路上,共勉!
文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。
本文是基于Maven工程实现SSM整合,主要是通过XML实现三大框架的整合,可能有的小伙伴会说XML早就过时了,现在人们都使用注解开发,但是不是这么认为,我个人觉得你XML 整合会了,注解能不会吗? 开干!!!!
SSM整合总体思路
Spring和MyBatis整合
整合JAR包
org.springframework
spring-orm
4.3.2.RELEASE
org.springframework
spring-webmvc
4.3.2.RELEASE
org.springframework
spring-test
4.3.2.RELEASE
org.aspectj
aspectjweaver
1.9.2
cglib
cglib
2.2
mysql
mysql-connector-Java
5.1.3
com.alibaba
druid
1.0.31
org.mybatis
mybatis
3.2.8
org.mybatis
mybatis-spring
1.2.2
log4j
log4j
1.2.17
org.slf4j
slf4j-api
1.7.7
org.slf4j
slf4j-log4j12
1.7.7
org.codehaus.jackson
jackson-mapper-asl
1.9.2
jstl
jstl
1.2
junit
junit
4.12
test
javax.servlet
servlet-api
2.5
provided
javax.servlet.jsp
jsp-api
2.1.3-b06
provided
创建Spring的配置文件
- spring-persist-mybatis.xml ---数据源相关的配置
- spring-persist-tx.xml ---事务相关的配置
- spring-web-mvc.xml ---SpringMvc相关的配资
创建jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3307/crowdfunding?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
创建log4j.properties
log4j.rootLogger=DEBUG,myConsole
log4j.appender.myConsole=org.apache.log4j.ConsoleAppender
log4j.appender.myConsole.Target=System.out
log4j.appender.myConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.myConsole.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
配置数据源
在配置文件spring-persist-mybatis.xml,分为两步:加载外部的属性文件,配置数据源
数据源测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:/spring/spring-persist-mybatis.xml"})
public class AtcrowFundingAdminTest {
@Autowired
public DataSource dataSource;
@Test
public void DataSourceTest() throws Exception{
System.out.println("数据源:"+dataSource.getConnection());
}
}
创建MyBatis全局配置文件
配置 mybatis-config.xml
配置SqlSessionFactoryBean
在配置文件:spring-persist-mybatis.xml,分为两步:配置SqlSessionFactoryBean,配置mybatis 的包扫描器
到这里spring-persist-mybatis.xml配置文件已经完成了。
完整的文件
配置声明式事务
所在配置文件:spring-persist-tx.xml
- 配置事务管理器
- 配置事务通知
- 配置事务切面
SpringMVC
配置spring-web-mvc.xml
开启注解驱动,配置视图解析器
配置web.xml
配置监听器(contextConfigLocation)加载spring-persist-mybatis.xml,spring-persist-tx.xml配置文件,
配置DispatchServlet加载spring-web-mvc.xml配置文件
配置过滤器编码的格式
这些文件在项目启动的时候加载到Sping容器当中。
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath*:/spring/spring-persist-*.xml
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:spring/spring-web-mvc.xml
dispatcherServlet
*.action
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceRequestEncoding
true
forceResponseEncoding
true
CharacterEncodingFilter
/*
创建Controller类测试
@Controller
@RequestMapping("admin")
public class AdminController {
@Autowired
public AdminService adminService;
@RequestMapping("/findall")
public String findAll(Model model) {
List list = adminService.findAllAdmin();
model.addAttribute("list", list);
return "admin";
}
}
请求路径:http://localhost:8080/ssm_war_exploded/admin/findall.action
页面响应
AdminBean{id=1, loginAcct='admin', userPswd='123', userName='你好', email='', createTime='null'}
到此SSM 基本功能的整合已经完成了。
源码下载