ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring注解(1)

2020-03-01 23:02:02  阅读:227  来源: 互联网

标签:容器 spring FilterType 创建对象 Bean 实例 组件 注解


1.在ComponentScan中如果想用includeFilters必须要加上userDefaultFilters=false

@ComponentScan由于有@Repeatable(ComponentScans.class)注解,所以可以配置多次

或者是用ComponentScans来配置多个ComponentScan

 

 

 

//@ComponentScan value:指定要扫描的包
//excludeFilters = Filter[] :指定扫描的时候按照什么规则排除那些组件
//includeFilters = Filter[] :指定扫描的时候只需要包含哪些组件
//FilterType.ANNOTATION:按照注解
//FilterType.ASSIGNABLE_TYPE:按照给定的类型;
//FilterType.ASPECTJ:使用ASPECTJ表达式
//FilterType.REGEX:使用正则指定
//FilterType.CUSTOM:使用自定义规则

 

@Scope

//默认是单实例的
/**
* ConfigurableBeanFactory#SCOPE_PROTOTYPE
* @see ConfigurableBeanFactory#SCOPE_SINGLETON
* @see org.springframework.web.context.WebApplicationContext#SCOPE_REQUEST request
* @see org.springframework.web.context.WebApplicationContext#SCOPE_SESSION sesssion
* @return\
* @Scope:调整作用域
  * prototype:多实例的:ioc容器启动并不会去调用方法创建对象放在容器中。
  * 每次获取的时候才会调用方法创建对象;
  * singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。
  * 以后每次获取就是直接从容器(map.get())中拿,
  * request:同一次请求创建一个实例
  * session:同一个session创建一个实例
*
* 懒加载:lazy Bean
* 单实例bean:默认在容器启动的时候创建对象;
* 懒加载:容器启动不创建对象。第一次使用(获取)Bean创建对象,并初始化;
*
*/

给容器中注册组件;
* 1)、包扫描+组件标注注解(@Controller/@Service/@Repository/@Component)[自己写的类]
* 2)、@Bean[导入的第三方包里面的组件]
* 3)、@Import[快速给容器中导入一个组件]
  * 1)、@Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名
  * 2)、ImportSelector:返回需要导入的组件的全类名数组;
  * 3)、ImportBeanDefinitionRegistrar:手动注册bean到容器中
  * 4)、使用Spring提供的 FactoryBean(工厂Bean);
    * 1)、默认获取到的是工厂bean调用getObject创建的对象
    * 2)、要获取工厂Bean本身,我们需要给id前面加一个&
        * &colorFactoryBean

标签:容器,spring,FilterType,创建对象,Bean,实例,组件,注解
来源: https://www.cnblogs.com/doyi111/p/12392814.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有