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

苏州免费网站建设自己做一元夺宝网站

苏州免费网站建设,自己做一元夺宝网站,wordpress 匹配,线上营销渠道主要有哪些在Spring中#xff0c;Bean是被管理的对象#xff0c;是应用程序的基本组件。Bean的生命周期包括Bean的创建、初始化、使用和销毁。在本文中#xff0c;我们将介绍Spring中Bean的概念#xff0c;如何创建和管理Bean以及Bean的生命周期。 Bean的概念 在Spring中#xff0…在Spring中Bean是被管理的对象是应用程序的基本组件。Bean的生命周期包括Bean的创建、初始化、使用和销毁。在本文中我们将介绍Spring中Bean的概念如何创建和管理Bean以及Bean的生命周期。 Bean的概念 在Spring中Bean是一个被Spring IOC容器管理的对象。通常情况下一个Java类会被声明为一个Bean以便Spring能够将其实例化、配置和管理。Spring中的Bean是一个实例对象这个对象被包装在Spring IOC容器中因此可以在整个应用程序中使用。 在Spring中Bean可以是任何Java对象包括简单的Java类、POJO、JavaBean和EJB等。在定义Bean时需要指定Bean的唯一标识符这个标识符在整个应用程序中必须是唯一的。 Bean的创建 在Spring中Bean的创建过程通常分为两个阶段Bean的实例化和Bean的初始化。实例化是指创建Bean的一个实例对象而初始化则是指对这个实例对象进行配置和初始化。 Bean的生命周期 在 Spring 容器中每个 Bean 都有一个完整的生命周期即从实例化、依赖注入到销毁的过程Spring 容器为我们管理了这些过程。接下来我们将对 Bean 的生命周期进行详细的介绍。 Bean 的实例化 Bean 的实例化是指容器创建 Bean 的实例这是 Bean 生命周期的第一个阶段。 Bean 的实例化可以通过两种方式实现一种是使用默认的无参构造函数实例化 Bean另一种是使用工厂方法实例化 Bean。 使用默认构造函数实例化 Bean 默认情况下Spring 容器会调用 Bean 的默认构造函数来实例化 Bean。示例如下 public class ExampleBean {// 默认构造函数public ExampleBean() {// ...} } 使用工厂方法实例化 Bean 除了使用默认的构造函数来实例化 Bean还可以使用工厂方法来实例化 Bean。示例如下 public class ExampleBean {private String name;// 工厂方法public static ExampleBean createExampleBean() {ExampleBean exampleBean new ExampleBean();exampleBean.setName(exampleBean);return exampleBean;}// setter 和 getter 方法public void setName(String name) {this.name name;}public String getName() {return name;} } Bean 的属性注入 Bean 的实例化之后容器会将 Bean 的属性值注入到 Bean 中这是 Bean 生命周期的第二个阶段。Spring 提供了两种常用方式来实现 Bean 的属性注入构造函数注入和Setter 方法注入。 构造函数注入 构造函数注入是指通过构造函数来注入 Bean 的属性值即在创建 Bean 实例时容器会调用 Bean 的构造函数并将属性值作为构造函数的参数传入。 示例如下 public class ExampleBean {private String name;// 有参构造函数public ExampleBean(String name) {this.name name;}// setter 和 getter 方法public void setName(String name) {this.name name;}public String getName() {return name;} } Setter 方法注入 Setter 方法注入是指通过 Setter 方法来注入 Bean 的属性值即容器会在实例化 Bean 后调用 Bean 的 Setter 方法将属性值作为参数传入。 示例如下 public class ExampleBean {private String name;// setter 和 getter 方法public void setName(String name) {this.name name;}public String getName() {return name;} } Bean后置处理器 在Bean的生命周期中Spring提供了BeanPostProcessor接口通过实现这个接口的类可以在Bean初始化前后进行一些操作。BeanPostProcessor接口包括两个方法 Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException; 其中postProcessBeforeInitialization()方法在Bean初始化之前被调用可以在这个方法中对Bean做一些处理比如代理、修改属性等。postProcessAfterInitialization()方法在Bean初始化之后被调用也可以在这个方法中对Bean做一些处理比如添加监听器等。 实现BeanPostProcessor 我们可以创建一个实现了BeanPostProcessor接口的类在这个类中实现两个方法并把这个类注册到Spring的容器中来实现Bean的后置处理器。 public class MyBeanPostProcessor implements BeanPostProcessor {Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof UserService) {System.out.println(Before initialization of UserService: beanName);}return bean;}Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof UserService) {System.out.println(After initialization of UserService: beanName);}return bean;} } 在这个实现类中我们可以看到两个方法的实现这里我们只是简单地打印一下日志以便在Bean初始化前后可以看到效果。接着我们需要把这个实现类注册到Spring的容器中 bean idmyBeanPostProcessor classcom.example.MyBeanPostProcessor/ 当然也可以使用注解的方式将MyBeanPostProcessor放到IOC容器中。 BeanPostProcessor的执行顺序 当一个Bean在容器中被创建的时候BeanPostProcessor会被依次执行。首先容器会执行所有实现了BeanFactoryPostProcessor接口的类的方法然后才会执行所有实现了BeanPostProcessor接口的类的方法。在执行BeanPostProcessor接口的方法时会先执行所有实现了PriorityOrdered接口的类的方法然后执行所有实现了Ordered接口的类的方法最后执行其他实现了BeanPostProcessor接口的类的方法。在BeanPostProcessor接口的实现类中我们可以通过实现Ordered或PriorityOrdered接口来改变BeanPostProcessor的执行顺序。 总结 本文介绍了Spring中Bean的概念以及Bean的生命周期包括Bean的实例化、属性赋值、初始化、销毁等过程以及如何通过实现BeanPostProcessor接口来对bean的创建过程进行扩展实现我们自定义的一些行为。
http://www.hkea.cn/news/14465708/

相关文章:

  • 上往建站平台建设网站
  • 肃宁县网站建设网站建设 网站内容 采集
  • 有没有学做蛋糕的网站和视频大型网站运营步骤
  • 简约淘宝网站模板免费下载陇西网站建设 室内设计
  • 专做恐怖片的网站国外地图搜房网站建设
  • 江西高端网站定制国内开源网站
  • 如何将网站开发成微信小程序网站建设移动端官网
  • 杭州企业网站制作哪家好郑州做网站的外包公司
  • 直播课网站怎样做的云服务器gpu租用
  • 怎么修改网站首页html代码商城网站开发价格
  • 辽宁建设厅新网站互动营销是什么意思
  • 北京移动网站建设公司价格南通哪些公司做网站
  • wordpress整站安装宁波妇科专家哪个最好
  • 电脑做系统哪个网站比较好用广州市建设局网站
  • 行业网站系统东莞做网站哪家最好
  • 聊城九洲建设有限公司网站中文域名注册流程
  • 响应式网站头部视频网站用什么做
  • 河南科兴建设有限公司网站门户网站建设投标书
  • 电子商务网站规划与管理庆阳市建设局网站
  • 网站模板打包下载sem竞价是什么意思
  • 爱心互助网站开发站长平台seo
  • 阜蒙县建设学校网站是什么wordpress弄个人博客好吗
  • 购物网站建设多少钱手机网站开发相关问题
  • 网站开发用什么电脑做网站的前台用什么工具
  • iis7.5发布网站教程网站设计模板是什么
  • 展示型商城订单网站建设赤峰建设银行网站
  • 网站备案对网站负责人的要求新建网站如何推广
  • 建设网站是要先建站在备案么东莞百度推广优化公司
  • 北京海淀公司网站icp备案网站页面设计制作费
  • wordpress翻译公司网站top域名的网站打不开