ssm框架是由Spring+SpringMVC+Mybatis整合而成,目前正在努力学习中,虽然网上的搭建教程很多,但是实际上都不怎么能跑起来,可能 大家用的开发软件不一样,和对框架的要求有所不同;下面我就大概讲一下自己是怎么搭建出来的。(出自Spring3.x企业应用开发实战)
1、Spring
是分层的Java SE/EE应用一站式的轻量级开源框架,以IOC(Inverse of Control:控制反转)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术;
优点:
①方便解耦,简化开发
通过Spring提供的IOC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。有了Spring,用户不必再 为 单实例模式类,属性文件解析等这些很底层的需求编写代码,可以专注于上层的应用;
②AOP编程的支持
通过Spring提供的AOP功能,方便 进行面向 切面的编程,许多不容易用传统OOP实现的功能可以用AOP轻松实现;
③声明式事务的支持
在Spring中我们可以从单调烦闷的事务管理代码中解脱出来,通过 声明式方式灵活的进行 事务的管理,提高开发效率和质量;
④方便程序的测试
⑤方便集成各种优秀的框架
⑥降低JavaEE API的使用难度
⑦Java源码是经典学习范例
2、Spring MVC
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
3、Mybatis
目录大概就这样 ,必须配置的几个都写上了,以后需要加 过滤器什么的再另行添加;
<3>配置 自己的dao层,也就是spring-db.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/beans "> <!-- 开启事务注解驱动 --> <context:annotation-config /> <!-- 启动组件扫描,排除@Controller组件,该组件由SpringMVC配置文件扫描 --> <context:component-scan base-package="com.tao.eat"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan> <!-- 1.配置数据库相关参数properties的属性:${url} --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 2.数据库连接池 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!-- 配置连接池属性 --> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- 3.配置SqlSessionFactory对象 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 配置MyBaties全局配置文件:mybatis-config.xml --> <property name="configLocation" value="classpath:mybatis-config.xml" /> <!-- 扫描entity包 使用别名 --> <property name="typeAliasesPackage" value="com.tao.eat.entity" /> <!-- 扫描sql配置文件:mapper需要的xml文件 --> <property name="mapperLocations" value="classpath:mapper/**/*.xml" /> </bean> <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 注入sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <!-- 给出需要扫描Mapper接口包 --> <property name="basePackage" value="com.tao.eat.mapper" /> </bean> </beans>
<4>配置service层,spring-service.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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 扫描service包下所有使用注解的类型 --> <context:component-scan base-package="com.tao.eat.service" /> <context:component-scan base-package="com.tao.eat.controller"/> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource" /> </bean> <aop:config proxy-target-class="true"> <aop:pointcut id="serviceMethod" expression="execution(* com.tao.eat.service..*(..))"/> <aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/> </aop:config> <tx:advice id = "txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name = "*"/> </tx:attributes> </tx:advice> <!-- 配置基于注解的声明式事务 --> <tx:annotation-driven transaction-manager="transactionManager" /> <import resource="spring-db.xml"/> </beans>
<5>配置基础资源spring-web.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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 配置SpringMVC --> <!-- 1.开启SpringMVC注解模式 --> <!-- 简化配置: (1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter (2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持 --> <mvc:annotation-driven /> <!-- 2.静态资源默认servlet配置 (1)加入对静态资源的处理:js,gif,png (2)允许使用"/"做整体映射 --> <mvc:default-servlet-handler/> <!-- 3.配置jsp 显示ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 4.扫描controller相关的bean --> <context:component-scan base-package="com.tao.eat.controller" /> </beans>
<6>整合spring和mybatis,mybatis-spring.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> <!-- 配置全局属性 --> <settings> <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 --> <setting name="useGeneratedKeys" value="true" /> <!-- 使用列别名替换列名 默认:true --> <setting name="useColumnLabel" value="true" /> <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} --> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> </configuration>
<7>最后就是配置一下web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!-- 如果是用mvn命令生成的xml,需要修改servlet版本为3.1 --> <!-- 配置DispatcherServlet --> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置springMVC需要加载的配置文件 spring-dao.xml,spring-service.xml,spring-web.xml Mybatis - > spring -> springmvc --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-*.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <!-- 默认匹配所有的请求 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
<8>配置测试 BaseTest.java
package com.tao.eat; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * 配置spring和junit整合,junit启动时加载springIOC容器 spring-test,junit */ @RunWith(SpringJUnit4ClassRunner.class) // 告诉junit spring配置文件 @ContextConfiguration({ "classpath:spring/spring-db.xml", "classpath:spring/spring-service.xml" }) public class BaseTest { }
<9>pom.xml
<project xmlns="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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>ssm_eat</groupId> <artifactId>ssm_eat</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>ssm_eat Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <!--单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!--日志--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!--数据库连接--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.1</version> </dependency> <!--Mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!--Servlet Web--> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <!--Spring--> <!--Spring核心--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.13.RELEASE</version> </dependency> <!--Spring Dap层--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.2.13.RELEASE</version> </dependency> <!--Spring Web--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.6</version> </dependency> <!--Spring Test--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.13.RELEASE</version> </dependency> <!-- redis客户端:Jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.0.8</version> </dependency> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-runtime</artifactId> <version>1.0.8</version> </dependency> <!-- Map工具类 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2</version> </dependency> </dependencies> <build> <finalName>ssm_eat</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project>
我的配置 就是这样的,具体我能看懂,但是什么都不参考也写不出来,配置就是这样的,这里面还参考了好多博主的知识,但是网页关了,就无法一一列出了。
相关推荐
这个"ssm框架整合小demo"提供了一个实践性的示例,旨在帮助开发者理解和应用这些技术。以下是对这个项目及其包含文件的详细解读。 首先,Spring是一个全面的后端应用程序管理框架,它提供了依赖注入(DI)和面向切...
SSM框架整合是JavaEE开发中的重要组成部分,它包含了Spring、Spring MVC和MyBatis这三个主流的开源框架。这三个框架的结合,为开发者提供了一种高效、灵活且易于管理的Web应用开发解决方案。 首先,Spring框架是...
在本项目中,"ssm框架整合redis源码"意味着开发者将SSM框架与Redis缓存系统进行了集成,主要目的是实现session共享。Session共享是Web应用中解决用户会话跨服务器问题的关键技术,尤其是在分布式环境下,确保用户...
- 测试:编写JUnit测试用例,验证SSM框架整合是否成功。 5. **源码分析**:附带的源码可以帮助读者了解每个层次的实现细节,例如,Controller如何转发请求,Service如何调用DAO,以及Mybatis的SQL是如何执行的。 ...
SSM框架整合是Java开发中常见的技术组合,主要包括Spring、Spring MVC和MyBatis三个核心组件。本视频教程是针对初学者设计的,通过详细的教学步骤,帮助学习者理解并掌握SSM框架的集成和应用。 Spring框架是企业级...
SSM框架整合是Java Web开发中的一个重要概念,它是由Spring、Spring MVC和MyBatis三个开源框架集成的一个经典组合。这个"ssm框架整合包"很可能是为了方便开发者快速搭建SSM项目而提供的一个资源集合。 Spring框架是...
这个最新的SSM框架整合项目,发布于2018年8月25日,据描述,它已经经过了完整的调试,确保没有bug,且包含了前后台的测试代码,这对于开发者来说是一个宝贵的资源。 **Spring框架**是整个SSM的核心,它提供了一个...
SSM框架整合是Java开发中常见的技术组合,主要包括Spring、SpringMVC和Mybatis三个核心组件。这三种框架的结合可以有效地实现业务逻辑与数据访问层的解耦,提高开发效率,同时也便于项目的维护和扩展。 Spring框架...
SSM框架整合是Java开发中常见的技术组合,主要包括Spring、Spring MVC和MyBatis三个开源框架。这个源码实现了一个完整的、分层清晰的Web应用,使得开发者能够更高效地处理业务逻辑、数据访问和视图展示。下面将详细...
SSM框架整合Maven是Java开发中常见的技术组合,它涉及Spring、SpringMVC和MyBatis三个核心组件,利用Maven进行项目管理和构建。在Java Web开发领域,SSM框架因其灵活性和强大的功能而备受青睐。下面我们将深入探讨这...
SSM框架整合是Java开发中常见的技术组合,主要包括Spring、Spring MVC和MyBatis三个核心组件。Spring作为全面的企业级应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Spring MVC是Spring框架的一个...
SSM框架整合指的是将Spring、SpringMVC和MyBatis三个主流的Java开源框架整合在一起,以构建高效、灵活的企业级Web应用。这三个框架分别负责不同的职责:Spring作为整体的容器管理Bean,SpringMVC处理HTTP请求和响应...
SSM框架整合是Java开发中常见的一种技术组合,主要包括Spring、Spring MVC和MyBatis三个开源框架。这三者结合可以构建出强大的企业级Web应用。下面将详细讲解SSM框架整合的关键步骤、核心概念以及如何实现它们的无缝...
- 测试:编写JUnit测试用例,验证SSM框架整合是否成功。 5. 应用场景:SSM框架适用于大型企业级应用,特别是在数据量大、业务复杂的项目中,其灵活性和可扩展性能够满足各种需求。例如,电商平台、在线教育平台、...
下面将详细介绍SSM框架整合过程中所涉及的核心知识点,并解释每个jar包的作用。 1. **Spring框架**:Spring是Java应用程序中的核心框架,提供依赖注入(DI)和面向切面编程(AOP)等特性。在SSM整合中,Spring负责...
SSM框架整合指的是将Spring、Struts2和MyBatis三个主流的Java Web开发框架集成为一套完整的解决方案。这个过程可以极大地提高开发效率,降低各组件间的耦合度。在这个项目中,通过Maven进行依赖管理和构建,使得项目...
SSM框架,全称为Spring、SpringMVC和MyBatis的整合,是JavaEE开发中广泛应用的技术架构。这个框架集合了Spring的全面控制反转和依赖注入能力,SpringMVC的请求处理和视图管理,以及MyBatis的灵活数据持久化机制。...
这个“ssm框架整合jar包.rar”压缩文件包含了一系列用于快速搭建SSM项目的必需库,使得开发者能够高效地进行后端开发工作。 1. **Spring框架**:Spring是一个开源的应用框架,它提供了依赖注入(DI)和面向切面编程...
这个基于IDEA的SSM框架整合示例,旨在帮助开发者理解如何在IDEA环境中配置和运行一个完整的SSM项目。接下来,我们将详细探讨SSM框架的组成部分以及它们在实际开发中的作用。 **Spring框架**:Spring是一个全面的...
总的来说,这个"SSM框架整合包"是一个方便的开发资源集合,它集成了Java Web开发中的主要组件,使得开发者能够快速搭建起一个完整的SSM项目结构,从而节省了大量配置和测试的时间,提高了开发效率。