zoukankan      html  css  js  c++  java
  • spring ioc 理解

    springIOC
    作用
      springIOC 是sprig的特性。称作控制反转。将对象的创建,初始化,销毁,交给spring容器管理。


    原理

      在spring容器启动的时候,通过反射的方式,主动加载(或者延迟加载)我们主动配置的bean,已经bean的依赖对象。


    好处

      在不同的业务之间的相互调用,我们无需去关注业务对象的产生。而更注重业务之间的逻辑,这在复杂工程中显得尤为重要。

    spring 构造对象的三种方式

      1、采用默认的构造函数创建

    <bean class="com.mc.base.learn.spring.bean.Person" id="person">

      2、采用静态工厂方法

    <bean id="person" class="com.mc.base.learn.spring.factory.PersonStaticFactory" factory-method="createPerson">

        3、实例工厂方法

      <!-- 实例工程方法需要先创建工厂实例,然后在创建所需对象的时候,将其赋值为factory-bean -->
        <bean id="personFactory" class="com.mc.base.learn.spring.factory.PersonFactory"></bean>
        <bean id="person2" factory-bean="personFactory" factory-method="createInstance"></bean>

    spring 初始化的三种方式

       1、通过实现 InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;

    public class InitSequenceBean implements InitializingBean {  
        @Override  
        public void afterPropertiesSet() throws Exception {  
           System.out.println("InitSequenceBean: afterPropertiesSet");  
        }  
    }  

       2、通过 <bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;

    <bean class="InitSequenceBean" init-method="initMethod"></bean>  

       3、在指定方法上加上@PostConstruct 或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调

    public class InitSequenceBean {    
        @PostConstruct    
        public void postConstruct() {    
           System.out.println("InitSequenceBean: postConstruct");    
        }    
    }  
  • 相关阅读:
    eureka 源码
    注册中心eureka
    自己的spring boot starter
    spring boot基本认识
    我以为我对Kafka很了解,直到我看了此文章
    Spring 中的 18 个注解,你会几个?
    定时任务之crontab命令
    Spring中@Autowired、@Resource和@Inject注解的使用和区别
    Lombok介绍、使用方法和总结
    Mybatis JdbcType与Oracle、MySql数据类型对
  • 原文地址:https://www.cnblogs.com/chihirotan/p/6480825.html
Copyright © 2011-2022 走看看