Spring之IOC、AOP及基本使用

概述

Spring是轻量级的开源的JavaEE框架,可以解决企业应用开发的复杂性,有两个核心部分:IOC和Aop。

  • IOC:控制反转,把创建对象过程交给spring进行。

  • Aop:面向切面,不修改源代码进行功能增强。

特点

  • 方便解耦,简化开发

  • AOP编程支持

  • 方便程序测试

  • 方便和其他框架进行整合

  • 方便进行事务操作

  • 降低API开发难度

相关依赖

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

spring配置文件

<?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">

    <!--配置User对象相关的创建-->
    <bean id="user" class="com.company.User"></bean>
</beans>

基本使用

package com.company.testdemo;

import com.company.User;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring5 {

    @Test
    public void testAdd(){
//        1.加载spring配置文件
        ClassPathXmlApplicationContext context =
                new ClassPathXmlApplicationContext("bean1.xml");
//        2.获取配置创建的对象
        User user = context.getBean("user", User.class);
        System.out.println(user);
        user.add();
    }
}

IOC

控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理,使用IOC目的是为了降低耦合度。

底层原理

xml解析、工厂模式、反射

IOC 接口(BeanFactory)

IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

Spring提供IOC容器实现两种方式:(两个接口)

  • BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用

特点:加载配置文件时候不会创建对象,在获取对象(或者使用对象)才去创建对象
  • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人人员进行调用

特点:加载配置文件时候就会把在配置文件对象进行创建

ApplicationContext接口有实现类

  • FileSystemXmlApplicationContext

  • configLocation:要写上配置文件在系统盘(某个盘)里的路径

  • ClassPathXmlApplicationContext

  • configLocation:要写上类路径

IOC操作Bean管理

Bean管理指的是两个操作Spring 创建对象、Spring 注入属性。Bean管理操作有两种方式,基于xml配置文件方式实现、基于注解方式实现。

基于xml方式

基于xml方式创建对象

<!--配置User对象创建-->
<bean id="user" class="com.xxx.spring5.User"></bean>
  • 在Spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建

  • 在bean标签有很多属性,介绍常用的属性

  • id属性:唯一标识

  • class属性:类全路径(包和类路径)

  • 创建对象时候,默认也是执行无参构造方法

基于xml方式注入属性

DI:依赖注入,就是注入属性

DI是IOC一种具体实现,表示依赖注入,注入属性是在创建对象的基础之上进行完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像向日葵一样~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值