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>
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用IDEA打包jar包时,有两种方法可以选择。第一种是打包含有多个主类的jar包,需要在运行时指定主类的全类名。第二种是打包可直接执行的runnable jar包,不需要指定主类。下面是两种方法的详细步骤: 第一种方法: 1. 点击IDEA右上角的"Artifacts"按钮,选择"Empty"新建一个jar包。 2. 设置jar包的名称、路径和添加工程编译文件。 3. 点击"OK"后,回到IDEA界面,选择你的jar包名,点击"Build",jar包就会成功打包。 4. 运行jar包程序时,使用以下命令:java -cp jar包路径 主类全类名。 第二种方法: 1. 前四步操作与第一种方法相同。 2. 点击"Create Manifest"选项,选择你的工程名称,点击"OK"。 3. 选择jar文件,然后选择你要执行的main方法所在的类,点击"OK"。 4. 回到IDEA主界面,继续上面的步骤进行操作。 5. 运行jar包程序时,使用以下命令:java -jar jar包路径。 需要注意的是,第一种方法需要在运行时指定主类的全类名,而第二种方法已经在打包时选择了主类,所以可以直接运行。请确保不要混淆jar包和对应的运行命令。 #### 引用[.reference_title] - *1* *2* [ideajava程序打jar包的两种方式(超详细)](https://blog.csdn.net/qq_42239765/article/details/123236019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [IDEAjar包的两种方式](https://blog.csdn.net/weixin_44080445/article/details/117092337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值