springboot实战原理分析笔记(一)-spring快速入门

一、spring

1.spring4快速入门

1、初始化容器的信息方法:

      AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AnnotationScan.class);

AnnotationScan类上加上@Configuration、@ComponentScan({“packet”})
ComponentScan里面直接指定包含或者不包含某类 excludeFilters ComponentScan.Filter 是排除@Component类型注解, @Bean不能排除。

  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("lean1");//这里直接指定包名
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class, User.class,  UserDao.class, UserService.class, UserController.class);//直接将类信息扔进容器

2、初始化到容器中

  1. 在@Configuration的配置类里面 @Bean 通过方法的方式(@Scope(value = “prototype”)指定单例还是多例)
  2. 实现FactoryBean接口
  3. 加上@Component类型注解(@Repository(数据访问层) @Service(服务层) @Controller(控制层))等

3、bean 初始化时执行方法和销毁执行方法 3种:

  1. 实现InitializingBean、DisposableBean接口
  2. @Bean(initMethod = “init”, destroyMethod = “destroy”) 指方法名称,这样办法不能@Component 这样的注解上使用
  3. 通过在方法上加上JSR250: @PostConstruct、@PreDestroy注解
  4. 注入到容器,一般有三个注解 @Autowire @Resource(JSR250注解)
    @Inject(JSR330注解)(这个需要加上相应的依赖包)
    注意:如果一个类型在容器中有多个使用@Primary优先注入某一个对象,
    或者在注入的时候加上@Qualifier(“createUserDao”)指定注入某一个名称的对象。

2.spring扩展分析

1. 获取ApplicationContext3种方法:

  1. 通过@Autowire 注入
  2. 实现ApplicationContextAware
  3. 构造函数(这种只能有一个构造函数, 多个构造函数必要要有默认构造函数 //参数一定要在spring容器中找得到)
    		 public Bank(ApplicationContext applicationContext) {this.applicationContext = applicationContext;} 

2. BeanPostProcessor会在每次bean初始化的时候调用一次(可以在这里执行一些处理 比如说代理对象,类似ApplicationContextAware的功能。)
bean生命周期方法执行顺序:
---------------postProcessBeforeInitialization------------class lean2.Cat
-----------afterPropertiesSet------------
-----------init------------
---------------postProcessAfterInitialization------------class lean2.Cat
-----------destroy------------

3.容器初始化回调一次(BeanFactoryPostProcessor接口)
4.对容器做一些操作(BeanDefinitionRegistryPostProcessor接口, 比如注入bean)
通过BeanDefinitionRegistryPostProcessor可以拿到BeanDefinitionRegistry(可以动态注入bean)、 ConfigurableListableBeanFactory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值