spring框架了解

spring框架的核心思想:
1.IOC——Inversion of Control 控制反转
强调的是原来在程序中创建Bean的权利反转给第三方

2.DI——Dependency Injection 依赖注入
强调Bean之间的关系,这种关系由第三方负责去设置

3.Aop Aspect Oriented Pregramming 面向切面编程
功能的横向抽取,主要的实现方式就是Proxy

问:程序领域中的框架具备了哪些特点?

  1. 框架 Framewerk 是基于基础技术之上,从众多业务中抽取出的通用解决方案
  2. 框架是一个半成品.使用框架规定的语法开发可以提高开发效率
  3. 框架内部使用大量设计模式 算法.底层代码操作技术 og.反射.内省.Aml解析.注解解析等
  4. 框架一般具有扩展性


spring框架的特点点结

  1. 方便解耦.简化开发
  2. 方便集成各种优秀框架
  3. 降低JavaEE API的使用难度
  4. 方便程序的测试
  5. AOP编程的支持
  6. 声明式事务的支持

获取容器的两种方式代码实现:

 // 第一种:从类路径下加载bean配置文件,得到一个容器对象
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("bean.xml");

// 使用容器对象里的getBean方法,通过配置文件里面的唯一标识id得到该bean对象
HelloWorld helloWorld = (HelloWorld) app.getBean("helloWorld");


// 第二种:创建bean工厂对象
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();

// 创建一个读取配置bean文件的对象
XmlBeanDefinitionReader definitionReader = new XmlBeanDefinitionReader(beanFactory);

// 加载配置bean文件并交给bean工厂对象
definitionReader.loadBeanDefinitions("bean.xml");

// 根据bean配置文件里面的唯一标识id获取bean对象
HelloWorld helloWorld = (HelloWorld)beanFactory.getBean("helloWorld");

对应容器获取对象的getBean方法分析:

getBean方法有多种重载形式,以适应不同的使用场景。
以下是几种常见的`getBean`方法及其用途:
1. `public Object getBean(String name) throws BeansException`:
   - 参数:`String name`:要获取的bean的名称。
   - 返回值:`Object`:返回指定名称的bean的实例。
   - 用途:根据bean的名称获取bean实例。
2. `public <T> T getBean(String name, Class<T> requiredType) throws BeansException`:
   - 参数:`String name`:要获取的bean的名称。
   - 参数:`Class<T> requiredType`:指定bean的类型。
   - 返回值:`T`:返回指定名称和类型的bean的实例。
   - 用途:根据bean的名称和类型获取bean实例,用于类型检查。
3. `public Object getBean(String name, Object... args) throws BeansException`:
   - 参数:`String name`:要获取的bean的名称。
   - 参数:`Object... args`:传递给构造函数或工厂方法的参数。
   - 返回值:`Object`:返回指定名称的bean的实例。
   - 用途:根据bean的名称和构造函数参数或工厂方法参数获取bean实例。
4. `public <T> T getBean(String name, @Nullable Class<T> requiredType, @Nullable Object... args) throws BeansException`:
   - 参数:`String name`:要获取的bean的名称。
   - 参数:`Class<T> requiredType`:指定bean的类型。
   - 参数:`Object... args`:传递给构造函数或工厂方法的参数。
   - 返回值:`T`:返回指定名称和类型的bean的实例。
   - 用途:根据bean的名称、类型和构造函数参数或工厂方法参数获取bean实例。

对应Spring的控制反转(Inversion of Control, IoC)思想,开发者通过指定bean的名称来获取容器中管理的bean实例,而不是通过显式地创建bean实例。这使得开发者可以更加专注于业务逻辑的实现,而将对象创建和依赖关系的管理交给Spring容器。

依赖注入(Dependency Injection, DI)的核心思想在于通过外部配置(如XML或注解)来指定bean之间的依赖关系,然后在创建bean实例时,Spring容器会自动将这些依赖注入到bean实例中。getBean方法的参数Object... args可以传递给构造函数或工厂方法的参数,Spring容器会使用这些参数来创建bean实例,并自动注入依赖关系。

综上所述,Spring的getBean方法是实现控制反转和依赖注入的关键组成部分,它们使得开发者可以更加灵活地管理和使用对象,从而提高代码的可维护性和可测试性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值