spring ioc注入bean方式

    3:ComponentScan
        3.1:@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Configuration,@Component注解的类到spring容器中
                @Controller,@Service,@Repository ,@Configuration 这些注解已经被@Component注解修饰
                距离举例:@ComponentScan(value="com.draymond")    com.draymond.config.BeanConfig

                可以指定扫描 includeFilters,excludeFilters,类似maven
        3.2:@Scope
                @singleton  创建ioc容器的时候就会创建,但只会创建1次
                @prototype  多实例 仅当bean使用的时候创建
        3.3:@Lazy
                懒加载:当使用bean的时候,才会加载(针对单实例bean),容器启动的时候不会加载

            IOC就是对bean进行注册、实例化、管理
                ComponentScan
            备注:没有线程安全的问题使用单实例(线程安全问题会发生在有对象中有属性)
                  如果不想有的对象不需要直接加载,则可以加上 @Lazy注解


    4:  FactoryBean 把java实例的bean通过FactoryBean注入到容器
        BeanFactory 从容器中获取注入的java实例的beans

    5:注入bean的方式
        5.1 @Bean   (导入第三方的类或包的组件)
        5.2 @ComponontScan+@Controller/@Service/@Responsitory/@Componet  包扫描+注解(自己写的类)
        5.3 @Import (快速给容器导入组件)
                5.3.1
        5.4 使用FactoryBean 进行注册 (不好用的方式)


    6:bean的生命周期
        com.draymond.lifecycle
            创建
            初始化
            销毁

猜你喜欢

转载自www.cnblogs.com/draymond/p/12547671.html