-
servlet:
Servlet 是在服务器(tomcat)上的一个程序,这个程序是处理请求用的,前端发送请求到服务器,服务器根据url路由匹配到唯一的Servlet,Servlet对请求进行处理(也就是我们写的处理逻辑),处理完之后交回给服务器,服务器返回给前端。
通常有
1. xml配置
2. @WebServlet注解 -
Spring:
1. IOC:控制反转就是把之前由我们手动new一个对象出来的工作交给spring容器来做。原因是如果通过手动new对象,那么对象与对象之间就会联系更紧密,假如在一个很大的项目里面修改类之间的依赖关系,会有牵一发而动全身的难点。现在我们将这一项工作交给spring容器来做,如果要修改依赖关系,只需要在生成bean的描述信息中修改就行,而不用牵扯到源代码。https://blog.csdn.net/u014590757/article/details/79998914
-
bean是什么呢?
java面向对象,对象有方法和属性,那么需要对象实例来调用方法和属性。可以把bean理解为类的代理人(实际上确实是通过反射、代理来实现的) -
@bean是什么呢?
@Bean明确地指示了一种方法,什么方法呢——产生一个bean的方法,并且交给Spring容器管理;从这我们就明白了为啥@Bean是放在方法的注释上了,因为它很明确地告诉被注释的方法,你给我产生一个Bean,然后交给Spring容器,剩下的你就别管了。 -
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配置)