这周主要关注了Spring IOC AOP事务相关的内容,以及工作中经常会用到你缓存和消息队列。
Spring IOC是最重要的基础,这里要知道它是如何管理bean的生命周期和作用域,以及给用户留了哪些扩展点。
Spring中Bean的生命周期从大方面讲是定义创建实例——》初始化——》使用——》销毁,Spring在初始化后BeanFactory实例化后,就加载Bean定义(xml配置、注解或Java配置文件)配置,依次生成每个类对应Bean的单例对象,然后填充对象属性(包括注入依赖对象,此时若依赖对象还没创建,会尝试先创建并初始化依赖Bean对象后再继续当前bean实例的初始化),然后开始bean对象的初始化,此处用户可以通过@PostConstruct、继承InitializingBean类或指定init-method的方法自定义自己的初始化方法(如果上面上个方法同时存在,会以@PostConstruct、继承InitializingBean类或指定init-method方法的次序依次执行)。注意:@PostConstruct能起作用,必须在bean配置前启用注解,可以通过配置<context:annotation-config/>或<context:component-scan base-package="com.imooc.service" />实现。
不是所有的方法都要事务,如只有一条修改操作(一条增删改sql语句)或只读操作不需要事务控制。并且要注意尽量让事务的方法执行时间短,不要在其中穿插其它RCP、HTTP网络操作,若需要可将其剥离到事务方法外部。
最后说两个方法:
1、离线API管理工具,mac下dash,Windows可用zeal代替,https://zealdocs.org/download.html
2、eclipse中添加maven依赖或插件的方法。pom文件中右键-》maven-》添加依赖或插件对话框中可用搜索到maven仓库中的依赖和插件,选择后可插入,不用再去其它pom文件或网上找具体GAV或版本信息。