Spring工程搭建系列01-spring的接入

2023-10-27

总是看到一些人写文章的时候会将一些无用的jar包带到工程中去,导致maven工程看起来很大很繁琐,所以整理下,做个系列出来。

参考而已:看官不喜勿喷!!
有时间想到了就会更新
编程环境:jdk1.8 ; maven3
编译器工具:idea
本文最终的项目 目录结构如下:
项目结构

一:idea 搭建maven项目
就是搭建一个maven工程,不做赘述;
不会的话请百度“如何使用+(你的编译期名字)+ 搭建maven工程”;
二:
2.1 pom引入spring依赖
其实如果想仅仅使用spring的功能这些包就够了
spring-core
spring-beans
spring-context
spring-tx

    <!--   统一版本号 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>4.1.7.RELEASE</spring.version>
        <mybatis.version>3.4.5</mybatis.version>
    </properties>

    <dependencies>
        <!-- spring依赖 -->
        <!-- 核心包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- pring IOC的基础实现,包含访问配置文件、创建和管理bean等-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。 -->
        <!-- Spring 扩展服务 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>

2.2 新建建applicationContext.xml或者叫作spring.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-3.2.xsd
                         http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.2.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 搜索spring控件 -->
    <context:component-scan base-package="com.newStar"/>
</beans>

2.3 新建类

Service01.java

package com.newStar.service;

import org.springframework.stereotype.Service;

/**
 * com.newStar.service
 *
 * @Author : liuxinxing
 * @Description :基础的服务01
 * @Date : 2019/1/2
 */
@Service
public class Service01 {
    public Boolean showMsg(String msg) {
        System.out.println(msg);
        return true;
    }
}

Service02.java

package com.newStar.service;

import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * com.newStar.service
 *
 * @Author : liuxinxing
 * @Description :用来调用服务01
 * @Date : 2019/1/2
 */
@Service
public class Service02 {
    //注入服务01
    @Resource
    Service01 service01;

    public void excute(String msg){
        Boolean aBoolean = service01.showMsg(msg);
        System.out.println(aBoolean);
    }
}

三:如何验证搭建成功?
1.引入单元测试包

 	<!--单元测试-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
        </dependency>

2.建测试类

因为以后很多类都要做单元测试,
类似这样的重复代码会写很多。所以抽取出来做通用类BaseTest
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations ={"/applicationContext.xml"})

BaseTest.java

package com.newStar;

/**
 * com.newStar.service
 *
 * @Author : liuxinxing
 * @Description : 基础测试类
 * @Date : 2019/1/2
 */

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations ={"/applicationContext.xml"})
public class BaseTest {
}

Service02Test.java

package com.newStar.service;

import com.newStar.BaseTest;
import org.junit.Test;

import javax.annotation.Resource;

/**
 * com.newStar.service
 *
 * @Author : liuxinxing
 * @Description : 基础基础测试类来 启动spring容器
 * 可以实现spring的功能
 * @Date : 2019/1/2
 */
public class Service02Test extends BaseTest{
    @Resource
    Service02 service02;
    @Test
    public void testExcute() {
        service02.excute("hahha");
    }
}

启动testExcute()这个方法就OK啦!
其他类似如此;

下一篇是引入spring MVC

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring工程搭建系列01-spring的接入 的相关文章

随机推荐