Spring基础

Spring

Spring 是什么?

[1] Spring 框架是一个开放源代码的 JavaEE 应用程序框架。

[2] Spring 是针对 bean 的生命周期进行管理的轻量级容器

[3] Spring 是 Rod Johnson 发起。


Spring 的核心部分是什么?

[1] Spring 有两个核心部分:IOCAOP

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

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


Spring 的组成有什么?

Spring 框架主要由 部分组成,

[1] Spring Core

[2] Spring ADF

[3] Spring DAO

[4] Spring Context

[5] Spring Web

[6] Spring ORM

[7] Spring Web MVC


Spring 的特点:

[1] 方便解耦,简化开发。

[2] AOP 编程支持。

[3] 方便程序测试。

[4] 整合其它的框架

[5] 方便进行事物操作。

[6] 降低 Java API 使用难度。


简单的一个案例

使用 Spring 去创建一个对象,而 Spring 需要运用到 xml 文件。

//使用者类
package com.bird.spring;
public class User {
//  创建一个 睡觉的方法
    public void sleep(){
        System.out.println("我在睡觉呢!");
    }
}

<!-- 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">
    <!-- 配置 User 对象创建一个 id userXml-->
    <bean id="userXml" class="com.bird.spring.User"></bean>
</beans>
//spring5测试类
package com.bird.spring.test;
//导入包
import com.bird.spring.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring5 {
// @test 在这里需要使用 junit.test 的包 如过没有将会出现报错。 
    @Test
    public void testAdd(){
//      [1]加载 spring 配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean01.xml");
//      [2]获取配置创建的对象
        User firstUser = context.getBean("userXml", User.class);
        System.out.println(firstUser);
        firstUser.sleep();
    }
}

[3] IOC操作 Bean 管理(基于xml)

[4] IOC操作 Bean 管理(基于注解)


什么是IOC?

[1] 控制反转,把对象的创建和对象之间的调用过程,赋予 Spring 进行管理。

[2] 使用 IOC 目的:降低地耦合度


IOC的底层原理

[1]xml 解析

[2]工厂模式

[3]反射


IOC接口(BeanFactory)

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

[2] Spring 提供 IOC 容器两种方式(两个接口):

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

ApplicationContext:BeanFactory 接口的子接口,提供更多强大的功能,一般由开发人员进行使用。

注意

两者的独特性:

[1]   BeanFactory:加载配置文件时,不会创建对象。在获取对象或者使用对象时候,才会创建对象。(随用随创)

[2]    ApplicationContext:加载配置文件时候就会把在配置的文件对象进行创建。(随载随创)

[3] ApplicationContext 接口有实现类

FileSystemXmlApplicationContext:它需要加入的是带有盘符的地址。

ClassPathXmlApplicationContext:它需要加入的是带有类路径的地址。


本文章仅用于学习!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值