当前位置: 首页 > wzjs >正文

查看网站开发商什么是百度竞价

查看网站开发商,什么是百度竞价,wordpress 登录 404,建立时间和保持时间一、什么是Bean生命周期? Spring容器中的Bean从创建到销毁的完整过程被称为Bean生命周期,包含实例化→属性注入→初始化→使用→销毁五个核心阶段。Spring提供了丰富的扩展点,允许开发者在各阶段插入自定义逻辑。 二、Bean生命周期全流程&am…
一、什么是Bean生命周期?

Spring容器中的Bean从创建到销毁的完整过程被称为Bean生命周期,包含实例化→属性注入→初始化→使用→销毁五个核心阶段。Spring提供了丰富的扩展点,允许开发者在各阶段插入自定义逻辑。


二、Bean生命周期全流程(附流程图)
开始│├─ 1. Bean定义注册│├─ 2. 实例化(构造函数)│├─ 3. 属性注入(DI)│├─ 4. 初始化阶段│   ├─ 4.1 BeanNameAware等Aware接口│   ├─ 4.2 BeanPostProcessor前置处理│   ├─ 4.3 @PostConstruct注解│   ├─ 4.4 InitializingBean接口│   └─ 4.5 init-method指定方法│├─ 5. 使用阶段(业务逻辑)│└─ 6. 销毁阶段├─ 6.1 @PreDestroy注解├─ 6.2 DisposableBean接口└─ 6.3 destroy-method指定方法
结束

三、核心阶段详解(含代码示例)
1. Bean定义注册
<!-- XML配置示例 -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" init-method="init" destroy-method="close"/>
// Java配置示例
@Bean(initMethod = "init", destroyMethod = "close")
public DataSource dataSource() {return new HikariDataSource();
}
2. 实例化阶段
  • 通过反射调用构造函数
  • 注意循环依赖问题(三级缓存机制)
3. 属性注入(DI)
  • @Autowired注解字段注入
  • Setter方法注入
  • 构造函数注入(推荐)
4. 初始化阶段扩展点
public class DatabaseService implements InitializingBean, BeanNameAware {@Autowiredprivate DataSource dataSource;// 1. Aware接口@Overridepublic void setBeanName(String name) {System.out.println("BeanNameAware: " + name);}// 2. @PostConstruct@PostConstructpublic void postConstruct() {System.out.println("@PostConstruct执行");}// 3. InitializingBean@Overridepublic void afterPropertiesSet() {System.out.println("InitializingBean接口方法执行");}// 4. init-methodpublic void customInit() {System.out.println("自定义init方法执行");}
}
5. 销毁阶段示例
@Component
public class CacheManager implements DisposableBean {@PreDestroypublic void preDestroy() {System.out.println("@PreDestroy执行");}@Overridepublic void destroy() {System.out.println("DisposableBean接口方法执行");}public void clearCache() {System.out.println("自定义destroy方法执行");}
}

四、扩展机制:BeanPostProcessor

实现该接口可对Bean进行全局处理:

@Component
public class CustomBeanPostProcessor implements BeanPostProcessor {@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) {System.out.println("Before初始化: " + beanName);return bean;}@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) {System.out.println("After初始化: " + beanName);return bean;}
}

五、生命周期管理最佳实践
  1. 初始化顺序

    Constructor > @Autowired > @PostConstruct > InitializingBean > init-method
    
  2. 销毁顺序

    @PreDestroy > DisposableBean > destroy-method
    
  3. 应用场景

    • 数据库连接池初始化
    • 缓存预热
    • 资源清理(如文件句柄关闭)
    • 性能监控埋点

六、常见面试考点
  1. BeanFactory和ApplicationContext在Bean初始化时机上的区别
  2. 循环依赖的解决原理
  3. 如何选择不同的初始化方式?
  4. BeanPostProcessor与BeanFactoryPostProcessor区别
  5. 原型(prototype)Bean的生命周期管理

七、总结
  • Bean 生命周期流程图:实例化 -> 2. 依赖注入 -> 3. 初始化 -> 4. 使用 -> 5. 销毁
  • Spring 的生命周期由 Spring 容器管理,从 Bean 的创建到销毁都由容器负责。
  • Spring 提供了很多钩子方法(如 InitializingBean、DisposableBean、@PostConstruct、@PreDestroy)来让你在 Bean 的生命周期内进行干预。
http://www.dtcms.com/wzjs/50592.html

相关文章:

  • 车佣做汽车网站怎么样广东东莞疫情最新消息今天又封了
  • 国安中建建设集团网站游戏网站交换友情链接
  • 企业网站找私人做什安卓嗅探app视频真实地址
  • 域名注册商网站宁波seo如何做推广平台
  • 地方门户网站运营百度排名查询
  • 怎样用dw做 网站首页英文网站推广
  • 江都建设局网站李局北京seo顾问推推蛙
  • 做网站卖产品在线h5免费制作网站
  • 重庆互联网公司排行榜简述优化搜索引擎的方法
  • 淘宝客网站程序购米百度爱采购优化排名软件
  • 经典企业网站天津seo标准
  • 国内建站 wordpress定向推广
  • 石家庄网站建设接单怎么推广app让人去下载
  • 对日软件开发流程seo教学网seo
  • 品牌网站建设服务商看网站时的关键词
  • 省级门户网站建设洛阳市网站建设
  • 生鲜网站建设规划书范文广州的百度推广公司
  • 如何自己做网站 开直播百度seo霸屏软件
  • 网站动画广告条怎么做的企业培训课程有哪些内容
  • 信阳企业网站建设深圳百度推广联系方式
  • 南通网站建设要多少钱免费发布信息网平台
  • 购物商城网站建设公司百度关键词屏蔽
  • 青岛网站设计建立公司指数运算公式大全
  • 国内人做韩国网站一般都卖什么手续代写文章兼职
  • 哪些网站的做的好看的排名轻松seo 网站
  • 武汉网站建设报价明细表google官网
  • 重庆工程公司有哪些南京seo推广公司
  • 端午节网站建设推广接单平台哪个好
  • 网站推广需要域名迁移百度下载软件
  • wordpress简约HTML5东莞网站建设优化排名