一、通过注解注入Bean
@Component:组件(spring扫描包下有该注解的类)
@ComponentScan(包名):组件扫描(spring扫描该包名下的类)
@Configuration:配置类
@Autowired:自动装配(它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法)
@Qualifier:限定符
@Order(优先级数):指定优先级 数越小优先级越高,且下表不需要从0开始 也不一定连续
二、通过注解设定Bean的作用域
@Scope(“singleton”):单例模式
@Scope(“prototype”):多例模式
自定义作用域:
1、实现自定义作用域类
2、配置里加载自定义作用域类
@Lookup:方法注入
三、通过注解开启Bean的懒加载:
@Lazy:懒加载
懒加载---即为延迟加载,顾名思义在需要的时候才加载,这样做效率会比较低,但是占用内存低,iOS设备内存资源有限,如果程序启动使用一次性加载的方式可能会耗尽内存,这时可以使用懒加载,先判断是否有,没有再去创建
懒加载的好处:不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强代码之间的独立性强,低耦合,节省了内存资源
四、通过注解编写Bean的初始化及销毁:
方式一:
1、配置类implements InitializingBean, DisposableBean
2、重写destroy()和afterPropertiesSet()
方式二:
@PostConstruct:Bean初始化业务逻辑的处理
@PreDestroy:Bean销毁业务逻辑的处理
方式三:
@Bean(initMethod = "初始化方法名", destroyMethod = "销毁方法名")
例:@Bean(initMethod = "onInit1", destroyMethod = "onDestory1")