applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <context:annotation-config /> <context:component-scan base-package="cn.*" /> <context:property-placeholder location="classpath:jdbc.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>${driverClassName}</value> </property> <property name="url"> <value>${url}</value> </property> <property name="username"> <value>${username}</value> </property> <property name="password"> <value>${password}</value> </property> <property name="initialSize"> <value>${initialSize}</value> </property> <property name="minIdle"> <value>${minIdle}</value> </property> <property name="maxActive"> <value>${maxActive}</value> </property> <property name="maxIdle"> <value>${maxIdle}</value> </property> </bean> <!-- 定义全局的事务控制 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 开启注解方式声明事务 --> <tx:annotation-driven /> <!-- 定义SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath*:com/ssm/mapping/*.xml" /> <property name="typeAliasesPackage" value="com.mybatis.model" /> </bean> <!-- 自动扫描 mapper,允许自动注入(根据类型匹配),不需要逐个配置mapper --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.ssm.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- 这里配置成spring中注解+自动扫描方式,相对XML文件配置简化得多。 --> <!-- @Repository:DAO层组件,@Service:业务层组件,@Controller:控制层组件 --> <context:component-scan base-package="com.ssm" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:include-filter type="annotation" expression="org.springframework.stereotype.Service" /> <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" /> </context:component-scan> </beans>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- mybatis别名定义 --> <typeAliases> <typeAlias alias="User" type="com.ssm.model.User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/lucky" /> <property name="username" value="cool" /> <property name="password" value="cool" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/ssm/mapping/UserMapper.xml" /> </mappers> </configuration>
LoginServiceImplTest.java
/** * */ package com.ssm.service.impl; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.ssm.model.UserKey; import com.ssm.service.LoginService; /** * @author guanhw * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:applicationContext.xml","classpath:mybatis-config.xml"}) public class LoginServiceImplTest { @Autowired // 多个相同类型时选择注入哪一个 @Qualifier("loginServiceImpl") public LoginService loginService; /** * Test method for {@link com.ssm.service.impl.LoginServiceImpl#IsLogin(com.ssm.model.UserKey)}. */ @Test public void testIsLogin() { UserKey userKey = new UserKey(); userKey.setUsername("cool"); userKey.setPassword("cool"); boolean selResult = loginService.IsLogin(userKey); assertEquals(selResult, true); } }
TestMapperUser.java
package com.ssm.test; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import com.ssm.dao.UserMapper; import com.ssm.model.User; import com.ssm.model.UserKey; import com.ssm.utils.MyBatisUtil; public class TestMapperUser { static SqlSessionFactory sqlSessionFactory = null; static { sqlSessionFactory = MyBatisUtil.getSqlSessionFactory(); } void testQueryByUserNameAndPassword() { SqlSession sqlSession = sqlSessionFactory.openSession(); try { UserMapper mapper = sqlSession.getMapper(UserMapper.class); UserKey userKey = new UserKey(); userKey.setUsername("cool"); userKey.setPassword("cool"); User user = mapper.selectByPrimaryKey(userKey); System.out.println( user.getUsername() + "," + user.getFullname()); } finally { sqlSession.close(); } } // end of testQueryByCondition }
MyBatisUtils.java
package com.ssm.utils; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MyBatisUtil { private final static SqlSessionFactory sqlSessionFactory ; static { String resouce = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resouce); } catch (IOException e) { System.out.println(e.getMessage()); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory ; } }
相关推荐
SSM框架,全称Spring、SpringMVC和MyBatis,是Java开发中常用的一种集成框架,用于构建高效、灵活的Web应用。本项目源码是基于Eclipse IDE,未使用Maven构建工具的SSM框架实现。接下来,我们将详细讨论SSM框架的各个...
SSM框架,全称为Spring、SpringMVC和MyBatis的整合,是JavaEE开发中广泛应用的技术架构。这个框架集合了Spring的全面控制反转和依赖注入能力,SpringMVC的请求处理和视图管理,以及MyBatis的灵活数据持久化机制。...
在SSM框架中,Spring作为基础框架,负责管理整个应用的bean,包括数据库连接池、服务层对象、DAO层对象等。 2. **SpringMVC**:Spring的Web MVC模块,用于构建Web应用程序。它提供了模型-视图-控制器的设计模式,...
SSM框架,即Spring、SpringMVC和Mybatis的组合,是Java Web开发中常用的一种轻量级框架集合。这三大框架各自承担着不同的职责,协同工作,为开发者提供了高效且灵活的开发环境。 1. **Spring框架**:Spring是Java...
6. **创建Maven项目**:在IDE中新建一个Maven项目,并在pom.xml文件中添加SSM框架的依赖。 7. **配置SSM**:在src/main/resources下创建Spring的applicationContext.xml和SpringMVC的servlet-context.xml,以及...
在本项目中,"JavaWeb基于SSM框架的课程设计"是一个典型的Web应用程序开发实践,主要使用了Spring、SpringMVC和MyBatis这三大框架,即SSM框架。这个系统设计的目标是实现一个报修与维修管理平台,旨在帮助客户提交...
5. 应用场景:SSM框架适用于大型企业级应用,特别是在数据量大、业务复杂的项目中,其灵活性和可扩展性能够满足各种需求。例如,电商平台、在线教育平台、社交网络等都可以选择SSM作为技术栈。 6. 性能优化:整合...
- 测试:编写JUnit测试用例,验证SSM框架整合是否成功。 5. **源码分析**:附带的源码可以帮助读者了解每个层次的实现细节,例如,Controller如何转发请求,Service如何调用DAO,以及Mybatis的SQL是如何执行的。 ...
SSM框架,全称Spring、SpringMVC和MyBatis,是Java开发Web应用时常用的三大组件。这个项目"ssm框架搭建——实现增删查改用户信息"旨在教你如何利用这些框架搭建一个基础的用户管理系统,具备基本的CRUD(创建、读取...
Java SSM框架整合是Java Web开发中常见的技术组合,它由Spring、Spring MVC和MyBatis三个组件构成,为开发者提供了强大的数据访问和业务逻辑处理能力。本项目"JavaSSM框架整合demo"是一个示例工程,旨在帮助初学者...
SSM框架通常会包含JUnit或其他测试框架,用于对各个组件进行单元测试。这有助于确保代码的质量,发现并修复潜在问题。 6. 数据库驱动: 这个JAR包可能还包含了不同数据库的驱动,例如MySQL、Oracle等,使得项目能够...
SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的一种技术栈。这个框架结合了Spring的核心IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)...
SSM框架是Java web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,它在企业级应用开发中有着广泛的应用。这个名为"ssmdemo"的项目,显然是一个用于学习或实践SSM框架的基础示例。让我们深入探讨一下SSM...
11. **单元测试与集成测试**:SSM框架支持JUnit和Mockito等工具进行单元测试,同时可以使用Spring Boot Test进行集成测试,确保代码质量和功能的正确性。 这个项目适合初学者熟悉SSM框架的整合和使用,通过实践加深...
SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的一种技术栈。在Java企业级应用开发中,这三个框架的整合能够提供高效、灵活且可扩展的解决方案。下面将详细介绍SSM框架整合过程中所...
下面我们将深入探讨SSM框架以及在购物平台中的应用。 1. **Spring框架**:Spring作为核心容器,负责管理应用程序的bean,通过依赖注入(DI)和面向切面编程(AOP)来解耦代码。在易买网中,Spring管理了业务逻辑层...
SSM框架是由Spring、Spring MVC和MyBatis三个开源组件组成的流行Java web开发框架。它在企业级应用中广泛使用,因为它的灵活性、模块化和高效性。下面将详细介绍SSM框架配置过程中涉及的关键知识点: 1. **Spring...
它管理着应用中的对象生命周期,使得代码更加松耦合,易于测试和维护。此外,Spring的事务管理功能确保了数据操作的原子性和一致性,这对于处理复杂的商务逻辑至关重要。 2. **Spring MVC**:作为控制层,Spring ...
在提供的"SSM框架所需架包"中,包含了SSM框架运行所需的全部库文件,如spring、spring-webmvc、mybatis、mybatis-spring等,还有可能包括其他依赖如log4j、junit等辅助开发和测试的库。这些库文件确保了开发者可以...
这个项目对于初学者来说是一个很好的实践平台,可以帮助他们深入理解和掌握SSM框架的核心原理及其在实际项目中的应用。 首先,Spring框架作为整个系统的中心,负责管理对象的生命周期和依赖注入。在本项目中,...