annotation:注解
@Configuration //告诉Spring这是一个配置类
@Bean //给容器中配置一个Bean 类型为返回值类型,id默认是方法名 也可以指定value值
@Autowired和@Resource是用来修饰字段、构造函数或者设置方法,并做注入的。
//包扫描,只要标注了@controller,@service,@repository,@component(组键)会自动扫描加进容器中.
<context:component-Scan base-package="com.hufangwen"></context:compeont>
过滤controller注解的不扫描,但是只扫描的话要把系统默认的关闭掉
useDefaultFilters=设置为false,在xml是use-default-filters//扫描所有
component-Scan在1.8之后可以多写几次,指定不同配置,还有一个componentScans里面是数组,用来填写componentScan
注解中的配置中在方法中使用(componentscan(value="com.hufangwen"))
自定义规则重点:必须是typefilter实现类
列:
把含有er的类扫描进去
使用
默认是单实例的。
@Scope//范围 表示这个beng方法的作用范围
懒加载
@Layz表示懒加载 针对单例模式默认容器加载的时候初始化
conditional:springboot底层大量使用,能够按照条件满足条件给ioc容器注入bean
获取当前的系统,enviroment
conditional使用必须实现condition接口,返回一个boole值,为true成立,falst失败
在类上注解表示下面所有的方法都要准守。
给容器中注册事件
例:@Import(Color.class) @import导入组件,id默认是组件的全类名。也可以以数组的形式加入多个bean
ImportSelector是个接口,用它的实体类
方法二:
方法三:
@Async表示异步,xxx都是BeanPostProcessor来实现的
processor:处理器
等价于
导入配置文件,之后就可以在pojo文件中导入配置文件的键了除了这种方法外:
这样也是可以的。propertySources可以写多个或者写数组的方式。
@primary:优先
@autowire也可以在构造器,方法,属性,参数上
使用回调函数的方式,一般会有对应的后置处理器,比如applicationContestAware会有一个applicationContestAwareProcessor一样。
解惑:
Resolver:解释器 Register:注册 processor:处理器