Spring入门学习—Spring IOC

一、什么是Spring?

Spring是一个轻量级的IOC/DI和AOP容器的开源框架

目标:使现有技术更加易用,推进编码最佳实践

内容:IOC容器、AOP实现、数据访问支持、简化JDBC/ORM框架、声明式事务、Web集成

设计理念:面向Bean的编程

 二、Spring 的优点

1、低入侵式设计

2、独立于各种应用服务器

3、依赖注入特性将组件关系透明化,降低耦合度

4、面向切面编程特性允许将通用任务进行集中式处理

5、可以与第三方框架良好整合

6、非常简单的且强大的声明式事务管理

7、提供与第三方Web框架无缝集成,且自己也提供了一套 SpringMVC 框架,来方便 Web 层搭建

三、Spring Ioc的原理和配置

1、IOC(Invision of control)控制反转:

是一种设计思想,就是原本在程序中需要手动创建对象的权利,交给spring框架管理

IOC的实现方式是工厂模式反射机制

我们要了解以下两点:

(1)是谁控制谁?    容器控制对象

(2)为什么是反转?  从主动获取依赖对象到被动接受依赖对象的反转

Ioc容器是实现Ioc的载体,Ioc容器实际上就是个Map(key,value),map中存放各种对象

Ioc容器就像一个工厂一样,当我们需要创建一个对象时,只需要配置好配置文件或贴注解即可,完全不用考虑对象时如何被创建出来的

将对象相互依赖的关系交给ioc容器管理,这样可以很大程度简化应用开发

使用Ioc的话,我们只需要配置好,在需要的地方引用就好,这大大的增加了项目的可维护性且降开发难度

2、DI(Dependency Injection)依赖注入:

DI其实就是IOC的另外一种说法

我们其实了解以下四点就容易理解:

(1)谁依赖谁?        应用程序依赖IOC容器

(2)为什么依赖?        应用程序需要IOC容器提供外部资源

(3)谁注入谁?        IOC向应用程序注入

(4)注入什么?        IOC向应用程序注入外部资源、数据等

Spring 创建对象的过程中,将对象依赖属性通过配置设值给该对象

就是给对象的属性设置属性值

 3、使用SpringIOC的步骤是什么?

  1. 添加Spring Jar包
  2. 创建Spring的配置文件
  3. 在配置文件中创建组件
  4. 增加组件依赖

4、如何使用Spring实现“控制反转”?

  • 编写HelloSpring类,输出“Hello, Spring!”
  • 字符串“Spring”通过Spring注入到HelloSpring类中

步骤:

(1)添加Jar包

  

(2)编写配置文件

<?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">
    <!--    以上是ioc的基础头部信息-->
    <!--创建组件-->
    <bean id="helloSpring" class="com.lss.ioc.HelloSpring">
        <property name="who" value="Spring"></property>
    </bean>
</beans>

(3)编写代码获取HelloSpring实例

package com.lss.ioc;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : 梁三岁
 * @name :HelloSpring的测试类
 * @create 2022/8/29 20:08
 */
public class HelloSpringTest {

    @Test
    public void hello(){
        //先要创建应用的上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过上下文对象,获得HelloSpring对象
        //通过容器获得对象,这个容器就是Spring
        HelloSpring helloSpring =(HelloSpring) context.getBean("helloSpring");
        //调用其对象的方法
        helloSpring.print();
    }
}
package com.lss.ioc;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : 梁三岁
 * @name :HelloSpring实体类
 * @create 2022/8/29 20:05
 */
public class HelloSpring {

    private String who;

    public void print(){
        System.out.println("Hello,"+this.getWho()+"!");
    }

    public String getWho() {
        return who;
    }

    public void setWho(String who) {
        this.who = who;
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值