SSM:Spring+SpringMvc+Mybatis各jar包以及作用(整理中)

org.springframework:spring-web

spring-web提供了核心HTTP集成,包括一些动载入Web ApplicationContext 特性的类、文件上传的支持类、便捷的工具辅助类、Spring HTTP调用、用于集成其他web框架的基础结构以及技术。
在这里插入图片描述
spring-web是一个一站式的du框架,提供了表现层(springmvc)到业务层(spring)再到数据层的全套解决方案;spring的两dao大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。

而Spring-webMVC是基于Spring功能之上添加的Web框架,想用pring-webMVC必须先依赖pring-web,pring-webMVC仅给spring的表现层提供支持。

org.springframework:spring-webmvc

spring-webmvc 是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web如果直接使用spring-webmvc,就会隐式地添加 spring-web。不必显示添加 spring-web。
该jar包含Spring MVC框架相关的所有类,如Servlets,Web MVC

org.springframework:spring-core

这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心。
annotation支持
convert类型转换

org.springframework:spring-test

在单元测试中,因为Junit默认配置的main方法不会生成spring容器,所以需要使用spring中对Junit的整合功能。
所以使用org.springframework:spring-test
导入依赖:

 <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>……</version>
    </dependency>

编写测试类:


@RunWith(value=SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:bean.xml" })
public class TestSpring{
	@Autowired
	private IUserService iUserService;
	@Test
	public void test(){
		System.out.println("test");
	}	
}

/**
1.使用junit提供的一个注解把原有的main方法替换,替换成spring提供的
      @RunWith(SpringJUnit4ClassRunner.class)
      @ContextConfiguration
2. 告知spring的运行器,spring和IOC创建是基于xml还是注解的,并且说明位置 
    @ContextConfiguration
        Locations:指定xml文件所在地,加上classpath关键字,表示在类路径下
        classes:指定注解类所在的位置
       @ContextConfiguration(classes=SpringConfiguration.class)
*/

在配置文件中,配置扫描该类注解。例如在bean.xml中:
<context:component-scan base-package="com.itheima"></context:component-scan>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.version>5.0.2.RELEASE</spring.version>
    <slf4j.version>1.6.6</slf4j.version>
    <log4j.version>1.2.12</log4j.version>
    <mysql.version>5.1.6</mysql.version>
    <mybatis.version>3.4.5</mybatis.version>
  </properties>

  <dependencies>

    <dependency>
<!--      spring的切入点表达式需要用的包,-->
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.6.8</version>
    </dependency>

    <!--      spring AOP所用-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--   这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。
外部依赖spring-beans, (spring-aop) -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--    spring的核心类,提供了核心HTTP集成,提供了表现层(springmvc)到业务层(spring)再到数据层的全套解决方案。
包括一些动载入Web ApplicationContext 特性的类、Lister类、文件上传的支持类、便捷的工具辅助类、Spring HTTP调用、用于集成其他web框架的基础结构以及技术-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
<!--    spring-webmvc 是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web如果直接使用spring-webmvc,就会隐式地添加 spring-web。不必显示添加 spring-web。
该jar包含Spring MVC框架相关的所有类,如Servlets,Web MVC-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--    用来整合junit的spring-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--    Spring-tx模块负责在spring框架中实现事务管理功能。以aop切面的方式将事务注入到业务代码中,并实现不同类型的事务管理器。这篇文章主要介绍Spring-tx模块aop切面的相关实现类型-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--    这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

<!--      JDBC驱动包,若不用则JDBC无法访问数据库(无法注册驱动),在idea中新建项目时可以在选择依赖时勾选Mysql,这样就会自动加载进来。-->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql.version}</version>
      </dependency>

<!--      HttpServletRequest和HttpServletResponse等对象-->
      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
      </dependency>


      <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
          <scope>provided</scope>
      </dependency>

<!--用于使用JSTL,jsp里面的EL表达式结合使用-->
      <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
      </dependency>

      <!--      打印日志-->
      <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
      </dependency>


<!--      Java的简单日志Facade (SLF4J)可以作为各种日志框架(例如Java .util)的简单Facade或抽象。允许终端用户在部署时插入所需的日志框架-->
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
      </dependency>

      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j.version}</version>
      </dependency>

<!--      mybatis核心类-->
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
      </dependency>

<!--    用来整合mybatis和spring的小框架     -->
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.0</version>
      </dependency>

<!--      这里使用c3p0或druid   预告:本项目整合使用c3p0会有bug-->
      <dependency>
          <groupId>c3p0</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.1.2</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>


    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
<dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>2.9.0</version>
      </dependency>
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
          <version>2.9.0</version>
      </dependency>
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
          <version>2.9.0</version>
      </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值