Spring学习day1-Spring框架介绍及搭建测试项目

Spring学习day1-Spring框架介绍及搭建测试项目

Spring是什么?

Spring是于2003 年兴起的一个轻量级的Java 开源框架,它由Rod Johnson创建。传统J2EE应用的开发效率低,Spring作为开源的中间件,提供J2EE应用的各层的解决方案,Spring贯穿了表现层、业务层及持久层,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式(full-stack)”选择。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。

简单来说,Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

为什么要是用Spring

1、 方便解耦,简化开发

通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

2、 AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

3、 声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

4、 方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序。

5、 方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts、Hibernate、MyBatis 、Hessian、Quartz)等的直接支持。

6、 降低Java EE API的使用难度

Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。

搭建Spring项目

打开IDEA,文件->新建->项目->maven项目,如下配置构建坐标,然后点击Finish(由于我们创建的是maven项目,所以可以先忽略下载jar包、导包的工程)

在这里插入图片描述

创建完成之后我们打开pom.xml文件,进行一个spring工具包的导入

工具包

spring-beans;

spring-context;

spring-core;

spring-expression;

commons-logging;

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
    </dependencies>

添加了依赖之后 我们重新构建一下在这里插入图片描述
在这里插入图片描述

然后我们打开项目结构就会发现项目模块下面多了一个spring

在这里插入图片描述

然后我们在src的main目录下的resources文件夹下创建"spring资源配置文件,取名applicationContext.xml(业界规定吧,一般都叫这个名字),注意如果项目中没有构建spring相关的jar包是无法创建Spring配置文件的

在这里插入图片描述

然后再打开项目结构,点击模块下的spring,添加应用程序上下文(一般会自动配置)

在这里插入图片描述
到这里基本环境算是搭建完了

Spring容器管理

在之前的项目开发中,创建对象的工作是由我们自己完成的,假如我们需要某一个类的对象,我们就需要手动去new一个对象,甚至可能根据需求new很多个该类的对象。然而上面我们提到spring可以用Ioc容器帮我们管理对象,包括对象的创建。那么这个容器管理具体是怎么实现的呢,我们可以通过一个简单的例子来感受一下。


在此之前我们需要做一些准备工作
在src.main.java文件夹下创建一个包,命名为com.wfh.bean
然后我们在再该包下创建一个User对象并添加一些属性和getter&setter
在这里插入图片描述
然后在src.test.java下创建一个测试类HelloSpring用于测试
在这里插入图片描述
然后我们打开之前创建的applicationContext.xml文件,在beans标签内加入一下代码

<bean name="user" class="com.wfh.bean.User"></bean>

很显然bean标签就是我们存放管理对象的标签,class属性对应其存放的类,而name属性类似于一个代号,当我们需要用到这个类的对象的时候,我们就可以把这个代号交给容器,让容器替我们找到这个代号对应的类并创建其实例对象交给我们。那么这种机制在代码中是如何体现的呢,我们一起来看看:

public void Test1(){
    //根据xml文件加载一个容器对象
    ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
    //根据name属性返回实例对象,也可以通过class属性得到,返回类型为Object
    User u=(User) ac.getBean("user");
    System.out.println(u);
}

运行结果:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值