Spring学习之开发环境搭建的详细步骤

所属分类: 软件编程 / java 阅读数: 30
收藏 0 赞 0 分享

最近搞定了项目,工作终于松了下来,顺便有时间学习Spring框架,记录于此,不足之处,希望大家不吝赐教

Spring的介绍

Spring是一个轻量级的Java框架,由于Spring基本提供了全套的开发服务,所以Spring基本上可以应用在Java开发中的很多方面,从本周开始学习Spring框架,顺便将自己的学习笔记整理出来,以巩固自己的学习,增进自己的表达能力,加深对Spring的了解

Spring体系结构

Spring的体系结构可以从官方文档中得知,具体如下所示:

Spring体系结构

从上面的图片中可以看到,Spring的体系结构是非常清晰的,主要有以下几个部分组成

  1. 核心容器
    1. Bean
    2. Core
    3. Context
    4. SpEL
    5. AOP
    6. AOP
    7. Aspects
    8. Instrumentation
    9. Messaging
  2. 数据持久化
    1. JDBC
    2. OXM
    3. ORM
    4. JMS
  3. 事务管理
    1. Web容器
    2. WebSocket
    3. Servlet
    4. Web
    5. Portlet

其中最重要的Spring的核心容器,是整个Spring的核心基础,其他模块或多或少都是对核心模块的扩展

搭建Spring开发环境

上面提到了Spring的核心容器是Spring的核心基础,这也就是说,配置Spring的开发环境,其实就是配置Spring的核心容器,也就是上面提到的Spring核心容器的组成部分,接下来来搭建一个可运行的,简单的Spring环境

这里使用Maven对项目进行管理,导入对应的依赖,如下所示

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>4.3.7.RELEASE</version>
  </dependency>

导入依赖之后,接下来通过一个简单的小案例来查看Spring是否配置成功

在类路径下新建一个资源配置文件beanConfig.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" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--编写对应的配置信息-->

</beans>

然后新建一POJO对象,Car.java,具体内容如下所示

public class Car {

  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  @Override
  public String toString() {
    return "Car{" +
        "name='" + name + '\'' +
        '}';
  }
}

新建完成之后,在上面的配置文件中补充响应的信息

 <bean id="car" class="cn.xuhuanfeng.domain.Car"/>
 <!--id是所创建对象的名字,class是所创建对象的类对应的全限定名-->

接下来就可以开始测试我们所配置的环境是否正确了,新建一个简单的测试类,如下所示

public class SpringTest{

  @Test
  public void testSpring(){
    // 加载对应的Spring配置信息
    ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");
    // 从容器中获取对象
    Car car = (Car) context.getBean("car");
    System.out.println(car);
  }
}

如何依赖正确导入,并且配置文件没有填写错误的话,可以看到下面的输出内容

七月 08, 2017 8:33:14 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@68fb2c38: startup date [Sat Jul 08 08:33:14 CST 2017]; root of context hierarchy
七月 08, 2017 8:33:15 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beanConfig.xml]
Car{name='null'}

至此,一个最简单的Spring开发环境就搭建完成了。

接下来将完成Spring的学习,努力中...

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多