Spring学习(一)----IOC理解以及Bean的使用

文章目录什么是Spring?Spring的IOC操作IOC 底层原理IOC原理:IOC 使用步骤:spring 的bean 管理(xml配置文件)Bean 实例化的方式Bean标签常用属性属性注入注入对象类型属性(重点)注入复杂类型属性IOC 和 DI 区别什么是Spring?1.spring是一个开源的轻量级框架2.spring核心主要两部分:(1)AOP:面向切面编程,扩展功能不是修改源代码实现(2)IOC:控制反转,之前:比如有一个类,在类里面有方法(不是静态的方法),调用类的方法,创建类
摘要由CSDN通过智能技术生成

什么是Spring?

1.spring是一个开源的轻量级框架
2.spring核心主要两部分:
(1)AOP:面向切面编程,扩展功能不是修改源代码实现
(2)IOC:控制反转,
之前:比如有一个类,在类里面有方法(不是静态的方法),调用类的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要 new 出来对象
之后:把对象的创建过程不是通过 new 方式实现,而是交给 spring 配置创建类
3.spring是一个一站式框架
(1) spring 在javaee 三层结构中,每一层都提供了不同的解决技术
web 层:springMVC
service 层:spring 的 ioc
dao 层:spring 的JDBCTemplate

Spring的IOC操作

1.把对象的创建交给 spring 进行管理
2. IOC 操作两部分
(1) ioc 的配置文件方式
(2) ioc 的注解方式

IOC 底层原理

1.ioc 底层原理使用技术
(1) xml 配置文件
(2) dom4j 解决 xml
(3) 工厂设计模式
(4) 反射

public class User {
   
	public void add() {
   
   		.......
    }
}
//在 servlet 调用 User 类里面的方法
//调用类里面的方法;
User user = new User();
user.add();
//如果类名发生变化,类里面也发生变化,那么 servlet 里面的代码也需要改变
//缺陷:耦合度太高

//使用工厂模式解耦合操作
public class UserService {
   
	public void add() {
   
		.......
	}
}
public class UserServlet {
   
	UserService s = Factory.getService();
	s.add();
}
//解决方案,创建工厂类
public class Factory {
   
	//提供返回UserService对象的方法
	public static UserService getService() {
   
		return new UserService;
	} 
}
//缺陷: servlet 和 工厂类又有耦合

IOC原理:

在这里插入图片描述

IOC 使用步骤:

第一步:在pom.xml导入依赖

<!-- Spring 需要的依赖 -->
<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
</dependency>     

第二步:创建类,在类里面创建方法

package ioc;

//原始做法
public class User {
   
    public void add() {
   
        System.out.println("add....");
    }

    public static void main(String[] args) {
   
        User user = new User();
        user.add();
    }
}

第三步:创建 spring 配置文件,配置创建类
(1)创建核心配置文件
在这里插入图片描述
(2)引入schema约束

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值