Spring概述与第一个工程HelloWord

1.spring简介

spring官方网址

Spring官网有Spring家族技术的介绍,有相应框架的jar 包和文档,还有源码文件,必要的时候可以参考

  1. Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。

  2. Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。就是让对象和对象(模块和模块)之间关系不是使用代码关联,而是通过配置来说明。即在 Spring 中说明对象(模块)的关系。

  3. Spring 根据代码的功能特点,使用 Ioc 降低业务对象之间耦合度。IoC 使得主业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring 容器统一管理,自动“注入”,注入即赋值。 而 AOP 使得系统级服务得到了最大复用,且不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。

  4. Spring是一个为简化企业级开发而生的开源框架。使用Spring开发可以将Bean对象,Dao组件对象,Service组件对象等交给Spring容器来管理,这样使很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。

  5. Spring是一个IOC(DI)和AOP容器框架

2.spring的优点

1)非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API。
2)控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。
3)依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXXX方法去设置,而是通过配置赋值。
4)面向切面编程:AOP——Aspect Oriented Programming,在不修改源代码的基础上进行功能扩展。
5)容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。
6)组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
7)一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的JDBCTemplate)。

3.Spring框架分为五大模块:

  1. Core Container:核心容器
    • Beans提供 BeanFactory,它是一个工厂模式的复杂实现。
    • Core提供了框架的基本组成部分,包括IOC和DI功能。
    • Context建立在由核心和 Bean 模块提供的基础上,它是访问定义和配置的任何对象的媒介。ApplicationContext 接口是上下文模块的重点。
    • SpEL在运行时提供了查询和操作一个对象的强大的Spring表达式语言。
  2. AOP&Aspects:提供了面向切面编程的实现。
  3. DataAccess/Integration:提供了对数据访问/集成的功能。
  4. Web:提供了面向Web应用程序的集成功能。
  5. Test:提供了对JUnit 或 TestNG 框架的测试功能。

4. HelloWord

1.导入Spring和junit的jar包

<!--导入spring和junit的jar包-->
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.1</version>
    </dependency>
    <!--junit-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
</dependencies>

2.创建一个类并添加一个属性

  • 目的:让IOC容器去管理这个类的对象

package com.zyd.bean;


public class HelloSpring {

    private String name;

    public String getName() {
        return name;
    }

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

    public void sayHello(){
        System.out.println("Hello :"+name);
    }
}

3.创建Spring的配置文件applicationContext.xml

  • 配置对象的管理信息
  • 默认采用无参构造器创建对象
<!--通过配置,让ioc容器管理bean对象
    bean标签:
        id属性:唯一标识(自定义)
        classs属性:全类名
            Spring会识别bean标签,读取class属性,创建其对象,读取id属性,作为该对象在ioc容器中的唯一标识

-->
<bean id="hello" class="com.zyd.bean.HelloSpring">
    <!--bean标签内,可以为name属性赋值-->
    <property name="name" value="Spring"/>
</bean>

4.测试

@Test
public void test01(){
    //1. 获得到IOC容器对象
    ApplicationContext ioc=new ClassPathXmlApplicationContext("applicationContext.xml");
    //2. 可以从ioc容器内获取到对象
        //2.1 根据标签的id值获取bean对象
    HelloSpring hello = (HelloSpring) ioc.getBean("hello");
    //3. 调用方法进行测试
    hello.sayHello();
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值