Spring 理解二:servlet、Bean

本文深入探讨Servlet在服务器上如何处理请求,以及Spring框架中Bean的生命周期,包括Bean的创建、属性设置、初始化和销毁过程。同时,解析了Spring的IOC原理及@Bean注解的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. servlet:
    Servlet 是在服务器(tomcat)上的一个程序,这个程序是处理请求用的,前端发送请求到服务器,服务器根据url路由匹配到唯一的Servlet,Servlet对请求进行处理(也就是我们写的处理逻辑),处理完之后交回给服务器,服务器返回给前端。
    通常有
    1. xml配置
    2. @WebServlet注解

  2. Spring:
    1. IOC:控制反转就是把之前由我们手动new一个对象出来的工作交给spring容器来做。原因是如果通过手动new对象,那么对象与对象之间就会联系更紧密,假如在一个很大的项目里面修改类之间的依赖关系,会有牵一发而动全身的难点。现在我们将这一项工作交给spring容器来做,如果要修改依赖关系,只需要在生成bean的描述信息中修改就行,而不用牵扯到源代码。

    https://blog.csdn.net/u014590757/article/details/79998914
    
  3. bean是什么呢?
    java面向对象,对象有方法和属性,那么需要对象实例来调用方法和属性。可以把bean理解为类的代理人(实际上确实是通过反射、代理来实现的)

  4. @bean是什么呢?
    @Bean明确地指示了一种方法,什么方法呢——产生一个bean的方法,并且交给Spring容器管理;从这我们就明白了为啥@Bean是放在方法的注释上了,因为它很明确地告诉被注释的方法,你给我产生一个Bean,然后交给Spring容器,剩下的你就别管了。

  5. bean的一生?
    可以简述为以下九步

—1. 实例化bean对象(通过构造方法或者工厂方法)
—2.设置对象属性(setter等)(依赖注入)
—3.如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。(和下面的一条均属于检查Aware接口)
—4.如果Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身
—5.将Bean实例传递给Bean的前置处理器的postProcessBeforeInitialization(Object bean,String beanname)方法 (在一个新类中对原bean进行增强)
—6.调用Bean的初始化方法(implements InitializingBean或xml配置)
—7.将Bean实例传递给Bean的后置处理器的postProcessAfterInitialization(Object bean,
String beanname)方法(在一个新类中对原bean进行增强)
—8.使用Bean
—9.容器关闭之前,调用Bean的销毁方法(implements DisposableBean或xml配置)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值