Spring的Bean构建Spring对 Bean的管理:XML创建Bean的三种方式Bean的作用范围Bean对象的生命周期Spring的依赖注入构造函数注入Set方法注入 更常用的方式复杂类型的注入/集合类型的注入Spring对 Bean的管理:注解创建对象注入数据作用范围的生命周期相关 了解有配置类,不需要bean.xml  把对象的创建交给spring来管理。Spring的IOC的作用:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 09:58:42
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在最前因为本次分析仅研究bean的创建过程,其他不重要的内容我将会忽略。本次内容比较长,有兴趣的朋友可以边阅读源码边看,如果有需要,我可以把涉及到的方法和类名都贴出来。正文开始首先从SpringBoot的启动类开始,点进main方法中的SpringApplication.run()方法,可以看到是new了一个SpringApplication对象并运行了它的run方法。我们再点进去看看,是一段非            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-11 13:33:57
                            
                                58阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            〇、前言        倘若是为了面试,请背下来下面这段:        spring的bean的生命周期主要是创建bean的过程,一个bean的生命周期主要是4个步骤:实例化、属性注入、初始化、销毁。但是对于一些复杂的bean的创建,spring会在bean的生命周期中开放很多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 17:04:57
                            
                                70阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            依赖注入什么是依赖注入使用一个会创建和查找依赖对象的容器,让它负责供给对象。当a对象需要b对象时,不再是使用new创建,而是从容器中获取,对象与对象之间是松散耦合的关系,有利于功能复用。依赖:应用程序依赖容器,需要的对象都从容器获取注入:容器将对象注入到应用程序中设计思路我们必须告诉容器:哪些类是由容器来创建的;哪些类是要从容器中获取的
使用两个注解对类进行标记容器必须对所有类进行扫描,将标记过的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-25 13:56:36
                            
                                17阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ① bean的创建-> 初始化-> 销毁方法由容器管理Bean的生命周期,我们可以通过自己指定bean的初始化方法和bean的销毁方法。public class Car {
    public Car() {
        System.out.println("Car的构造方法..........");
    }
    public void init() {            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-27 19:52:41
                            
                                131阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、包扫描@ComponentScan@ComponentScan只会扫描有以下四种注解中某一注解的类,并管理他们把他们加载到上下文中@Component:基本注解,标识了一个受Spring管理的组件,实际上只会扫描@Component,只是其他3个都继承于他@Repository:标识持久层组件@Service:标识服务层(业务层)组件@Controller:标识表现层组件他们可以混用,因为Sp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-10 10:02:45
                            
                                15阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、前沿在上节文章 bean加载 中我们学习了Sprin加载bean的整个过程,其中对于如何创建bean的我们没有讲解,本节将从 createBean 方法开始,阅读源码来了解bean的创建的整个过程,bean的创建是Spring中非常重要的模块,通过它可以了解Spring容器是怎么将bean创建出来的二、bean创建前奏bean 的创建是从 AbstractAutowireCapableBean            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-23 14:45:28
                            
                                174阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            创建bean对象的三种方式使用默认构造函数创建在spring配置文件中使用bean标签,配以id和class属性后,且没有其他属性和标签时。采用的就是默认构造创建bean对象,此时如果类中没有默认构造函数,则对象无法创建 就像这样如果我们的要创建的bean对象的默认构造函数没有的时候,我们在使用这种方式创建bean对象的话就会出现无法被实例化的错误,这就是由于没有默认构造导致的使用工厂中的普通方法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-21 17:07:44
                            
                                37阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先看示例代码:<!--no-lazy-init   scope=singleton-->
<bean class="com.lios.service.test.LiosTestA" id="liosTestA"/>
<bean class="com.lios.service.test.LiosTestB" id="liosTestB"/>
<bean c            
                
         
            
            
            
            问题: 
     最近在做公共框架的构建,由于采用了模块化的插件机制,在开发的过程中,发现不同开发人员的spring配置中,出现了两个bean的配置id和实现类名称都一样的情况。 
  
  
  例如有下面的bean类: 
 package  
  com.XXX.common.test;
 
 
 
 
public  
  class  
  SameNameBea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-20 22:56:49
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring Bean 的生命周期BeanFactory 创建对象在 BeanFactory 接口中定义了获取 Bean 实例的方法 getBean。@Test
public void testDefaultListableBeanFactory() {
    // 创建工厂
    DefaultListableBeanFactory factory = new DefaultListable            
                
         
            
            
            
            1.首先创建个web项目,第一步导入相应的jar包,并且buildtoPath2.用elipse或myeclipse点击进入web.xml中按住 Alt+ / 有个提示 找到前面带 #DispatcherServlet 并按回车键,自动生成。按我这个方式对比修改一下,首先解释一下,<load-on-startup>1</load-on-startup>load-o            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 14:30:32
                            
                                145阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先看一下Web应用部署初始化过程 (Web Application Deployement),官方文档说明:Web Application Deployment
When a web application is deployed into a container, the following steps must be performed, in this order, before the             
                
         
            
            
            
            @EnableAutoConfiguration 源码如下:/**
 * Enable auto-configuration of the Spring Application Context, attempting to guess and
 * configure beans that you are likely to need. Auto-configuration classes are            
                
         
            
            
            
            普通的bean的初始化是在容器启动初始化阶段执行的,而被lazy-init修饰的bean 则是在从容器里第一次进行context.getBean(“”)时进行触发。Spring 启动的时候会把所有bean信息(包括XML和注解)解析转化成Spring能够识别的BeanDefinition并存到Hashmap里供下面的初始化时用。接下来对每个BeanDefinition进行处理,如果是懒加            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-27 20:15:06
                            
                                65阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.写在前面笔者在前面的几篇博客已经讲spring创建的Bean的过程中的实例化的Bean的过程,同时将调用Bean的后置处理器的前两次的情况已经讲完了。笔者今天继续往下讲。今天笔者这篇博客会讲spring第三次调用Bean后置处理器的情况。2.Spring获取一个类中加了@Resource或@Autowired注解的过程上篇博客已经讲完了几种创建Bean实例的过程,让我们继续讲剩下的代码,具体的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 12:10:44
                            
                                97阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                    本文带着如下问题,分析下spring bean的创建过程,spring是怎么创建bean?ioc又体现在哪里,创建bean的过程中做了些什么,aop的代理对象是什么时候生成的?       1、应用程序的启动                    
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-17 12:52:27
                            
                                92阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、介绍xxx()方法是来做一些准备、辅助之类的工作,真正干活儿的大部分会有一个与之对应的doXxx()方法。createBean()方法也不例外,真正的创建逻辑在doCreateBean()方法中。在真正创建bean之前,会做一些验证、处理的工作。本章就详细介绍一下,创建bean之前具体都执行了哪些步骤。二、bean加载流程获取用户传入name对应的beanName尝试从缓存中获取bean实例缓            
                
         
            
            
            
            需求:在tomcat启动时开启一个定时任务。想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也就可以随容器一起启动。问题:上面的方法很好,但是由于定时任务需要去操作数据库,而项目采用了spring的依赖注入来管理对象,而servlet并不受Spring的管理。若此时在servlet中注入Spring管理的对象,则会报错:javax.n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-24 16:54:02
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言分析通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。 首先,Spring启动过程主要做了这么几件事情:构造一个BeanFactory对象解析配置类,得到BeanDefinition,并注册到BeanFactory中 
  解析@ComponentScan,此时就会完成扫描解析@Import解析@Bean...因为Applic            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-21 08:31:06
                            
                                73阅读