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

手机网站外链没有网站可以做落地页

手机网站外链,没有网站可以做落地页,如何修改wordpress模板首页宽度,帝国cms模板网目录 一、Bean生命周期的五个阶段 Bean的初始化 二、PostConstruct 和 PreDestroy 各自的效果 三、 实例化和初始化的区别 四、为什么要先设置属性在进⾏初始化呢#xff1f; 一、Bean生命周期的五个阶段 Java 中的公共类称之为 Bean 或 Java Bean#xff0c;而 Spring 中的…  目录 一、Bean生命周期的五个阶段 Bean的初始化 二、PostConstruct 和 PreDestroy 各自的效果 三、 实例化和初始化的区别 四、为什么要先设置属性在进⾏初始化呢 一、Bean生命周期的五个阶段 Java 中的公共类称之为 Bean 或 Java Bean而 Spring 中的 Bean 指的是将对象的生命周期交个 Spring IoC 容器来管理的对象。所以 Spring 中的 Bean 对象在使用时无需通过 new 来创建对象只需要通过 DI依赖注入从 Spring 中取出要使用的对象即可。 Bean作为一个Java对象具有一定的生命周期。它的生命周期包括以下几个阶段 实例化在Java应用程序中Bean对象是通过new关键字或者反射机制来实例化的。在这个阶段Bean对象被创建并分配了内存空间。设置属性(Bean注入和装配)初始化当Bean对象被创建后需要进行初始化包括设置属性值、执行一些初始化操作等。在Spring框架中Bean的初始化可以通过配置文件中的init-method属性进行指定。使用在Bean初始化之后它就可以被应用程序使用了。在使用过程中Bean可能会调用其他对象的方法从而导致其他Bean对象被实例化和初始化。销毁当Bean对象不再被使用时应该将其销毁并释放占用的内存空间。在Spring框架中Bean的销毁可以通过配置文件中的destroy-method属性进行指定。 总的来说Bean对象的生命周期可以通过实例化、初始化、使用和销毁这几个阶段来描述。在Spring框架中Bean的生命周期还可以通过BeanPostProcessor接口来进行扩展和定制。 为了便于理解  我们引用一个现实中的事件来形容   Bean 的⽣命流程看似繁琐但咱们可以以⽣活中的场景来理解它⽐如我们现在需要买⼀栋房⼦那么我们的流程是这样的 1. 先买房实例化从⽆到有 2. 装修设置属性 3. 买家电如洗⾐机、冰箱、电视、空调等[各种]初始化 4. ⼊住使⽤ Bean 5. 卖出去Bean 销毁。  Bean的初始化 执行各种通知(BeanNameAware、BeanFactoryAware)等接口方法初始化的前置方法(PostConstruct)初始化方法初始化的后置方法(PreDestroy) 下面用代码演示整个Bean的生命周期: 我们用构造方式来展示实例化的效果 ,实例化和属性设置是 Java 级别的系统“事件”其操作过程不可⼈⼯⼲预和修改  所以下面没有演示设置属性 package com.example.bean.test;import org.springframework.beans.factory.BeanNameAware; import org.springframework.stereotype.Component;import javax.annotation.PostConstruct; import javax.annotation.PreDestroy;Component public class BeanLifeComponent implements BeanNameAware {private String name;public BeanLifeComponent() {System.out.println(实例化方法执行拉);}public void setBeanName(String s) {System.out.println(执行 BeanName 的通知方法);}PostConstructpublic void postConstruct() {System.out.println(初始化方法执行);}public void use() {System.out.println(使用 Bean);}PreDestroypublic void preDestroy() {System.out.println(销毁方法执行);} }因为初始化的前置方法和后置方法是为所有 Bean 服务的而非为某一个 Bean 服务的所以这两个方法不能写在某个具体的 Bean 中否则这两个方法不会执行。 所以我们另外创建一个类来实现这两个方法 package com.example.bean.test;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.stereotype.Component;Component public class MyBeanPostProcessor implements BeanPostProcessor {Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if (beanName.equals(beanLifeComponent)) {System.out.println(初始化前置方法执行);}return bean;}Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (beanName.equals(beanLifeComponent)) {System.out.println(初始化后置方法执行);}return bean;} }在得到上下文对象这里  因为我们是使用springboot演示的 所以我们使用ConfigurableApplicationContext 来得到上下文对象 package com.example.bean.test;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext;SpringBootApplication public class DemoApplication {public static void main(String[] args) {// 得到上下文对象并启动 Spring Boot 项目ConfigurableApplicationContext context SpringApplication.run(DemoApplication.class, args);// 获取 BeanBeanLifeComponent component context.getBean(BeanLifeComponent.class);// 使用 Beancomponent.use();// 停止 Spring Boot 项目context.close();} } 结果如下:  二、PostConstruct 和 PreDestroy 各自的效果 当Bean被容器初始化之后会调用PostConstruct的注解方法。当Bean在容器销毁之前调用被PreDestroy注解的方法 代码如下:所以PostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源用PostConstruct 注释的方法也必须被调用。只有一个方法可以用此注释进行注释。 PostConstructpublic void doPostConstruct(){System.out.println(执行了 新版本PostConstruct 前置初始化方法);}PreDestroypublic void doPreDestroy(){System.out.println(执行新版本 PreDestroy 销毁方法);} PreDestroy 用与在依赖注入完成之前的方法前面执行遵守准则 该方法不得有任何参数该方法的返回类型必须为 void该方法不得抛出已检查异常应用 PostConstruct 的方法可以是 public、protected、package private 或 private该方法不能是 static该方法可以是 final该方法只会被执行一次 三、 实例化和初始化的区别 实例化和属性设置是 Java 级别的系统“事件”其操作过程不可⼈⼯⼲预和修改⽽初始化是给开发者提供的可以在实例化之后类加载完成之前进⾏⾃定义“事件”处理。 四、为什么要先设置属性在进⾏初始化呢 仔细观察下面代码: Servicepublic class UserService {public UserService(){System.out.println(调⽤ User Service 构造⽅法);}public void sayHi(){System.out.println(User Service SayHi.);}} Controllerpublic class UserController {Resourceprivate UserService userService;PostConstructpublic void postConstruct() {userService.sayHi();System.out.println(执⾏ User Controller 构造⽅法);}} 我们可以发现很是为了避免空指针异常。
http://www.pierceye.com/news/290799/

相关文章:

  • wordpress网站换字体颜色网站建设案例包括哪些
  • 北京市环境建设办公室网站怎么找到合适的网站建设商
  • 网站在线优化中国品牌加盟网
  • 网站可以做章子吗什么是网络营销?其特点是什么?
  • 网站优化人员中小型网站设计公司
  • 旅游网网站的设计wordpress添加网页背景图片大小
  • 学网站建设难不难wordpress5分钟安装
  • 建网站优化中山做网站专业的公司
  • 网站cmd做路由分析七牛云官网登录
  • 怎么在网站上打广告网站制作方案范文
  • 关键词搜不到我的网站wordpress 内网访问
  • 检察机关门户网站建设工作自查报告网站建设服务领域
  • 网站排名seo软件泉州高端模板建站
  • 昆山网站建设苦瓜网站建设费用会计分录
  • 免费pc网站建设网页设计与制作自学
  • 酒店 网站构建东莞常平碧桂园铂悦府
  • 子域名做微信开放平台网站应用公司做网站需要网站维护人员吗
  • 百度游戏排行榜风云榜青岛seo关键词优化排名
  • html写手机网站备案网站负责人
  • 做网站价位西安工程建设信息中心
  • 国外购物网站建设盐城做网站的哪家公司好
  • wordpress仿站软件遵化市城乡建设规划局网站
  • 湖北大网站建设贵州住房建设厅官网查询
  • 买个网站域名要多少钱一年网站建设热门吗
  • 高埗网站建设软件开发工程师就是程序员吗
  • 青岛正一品网站建设seo搜索优化排名
  • 响应式网站制设计wordpress游戏充值
  • 怎么看网站服务器地址网络设计一个月多少钱
  • 网站友情链接模块创作网站
  • 廉江手机网站建设公司商品展示介绍网站源码