2021-11-09 2.笔记-bea的回调及其它注解

1.spring bea 的回调

  • 实现initializingBean,DisposableBean
  • @bean(initMenth = ‘init’)可以用,但又个问题,引号里的参数不知道
  • @PostConstruct@ProDestory

2.dependson先一步初始化

在当前类@Dependson(需要依赖的bean)

**问题:**依赖的类需要单例,多例就会失效,会加载两次

3.@Lazy懒加载,不调用不加载

4…includeFilters,excludeFilter,排除和包含

excludeFilters = 
{@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com.sun.*")},
includeFilters = 
{@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = COMMENT.class)},(@comment及其派生注解都会被加载) 
useDefaultFilters = false

com.sun.*会把包名为sun1的包也剔除

5.@primary,@qulifiler

@primary相当于给不是唯一的标记了个标签,当被创建为对象时,选择有这个标签的

@qulifiler 配合@Autowire使用,指定实现类

6.接入mybatis

1.包myatis,mybatis-spring,spring-jdbc,mysql-connector-java

@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource);
    return sqlSessionFactoryBean;
}
@Bean
public DataSource dataSource(){
    DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
    driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver");
    driverManagerDataSource.setUsername("root");
    driverManagerDataSource.setPassword("root");
    driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/test");
    return driverManagerDataSource;
}

7.循环引用

单例可以,多例不可以

8.@profiles bean和类都可以

标记为@Profiles将不会被加载,只有被激活时才加载

AnnotationConfigApplicationContext annotationConfigApplicationContext =
        new AnnotationConfigApplicationContext();
annotationConfigApplicationContext.getEnvironment().setActiveProfiles("impl111");
annotationConfigApplicationContext.register(Spring.class);
annotationConfigApplicationContext.refresh();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值