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

行政机关 网站源码教育资源网站建设

行政机关 网站源码,教育资源网站建设,wordpress自助发货系统,qq是哪个工作室开发的在使用 Spring 框架后#xff0c;对象以 Bean 的形式统一交给 IOC 容器去创建和管理。现阶段主流的方式是基于 SpringBoot 框架#xff0c;基于注解的方式实现 Bean 的创建#xff0c;但在原生 Spring 框架中其实存在三种创建 Bean 的方式。 一、基础类 BeanProcess 实体类…在使用 Spring 框架后对象以 Bean 的形式统一交给 IOC 容器去创建和管理。现阶段主流的方式是基于 SpringBoot 框架基于注解的方式实现 Bean 的创建但在原生 Spring 框架中其实存在三种创建 Bean 的方式。 一、基础类 BeanProcess 实体类虽然加了 Component 等三个注解但只在注解方式创建 Bean 时用到了。 package com.nineya.spring.entity;import lombok.Getter; import lombok.Setter; import org.springframework.stereotype.Component;import javax.annotation.PostConstruct; import javax.annotation.PreDestroy;Getter Setter Component(test) public class BeanProcess {private String name;PostConstructpublic void init() {System.out.println(Bean InitMethodName);}PreDestroypublic void destroy() {System.out.println(Bean DestroyMethodName);}}后置处理器类 BeanPostProcessor 后置处理器。 package com.nineya.spring.processor;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.stereotype.Component;Component public class NineyaBeanPostProcessor implements BeanPostProcessor {Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {System.out.println(BeanPostProcessor.postProcessAfterInitialization( beanName ) 后置处理器);return bean;}Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {System.out.println(BeanPostProcessor.postProcessBeforeInitialization( beanName ) 后置处理器);return bean;} }BeanFactoryPostProcessor 后置处理器。 package com.nineya.spring.processor;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.stereotype.Component;Component public class NineyaBeanFactoryPostProcessor implements BeanFactoryPostProcessor {Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {System.out.println(BeanFactoryPostProcessor.postProcessBeanFactory 后置处理器);} }二、三种创建方式 2.1 JavaApi 方式 JavaApi 方式没有注册 BeanFactoryPostProcessor 后置处理器的接口应该在注册添加完所有 BeanDefinition 后手动调用执行 BeanFactoryPostProcessor 后置处理器方法。 private static void javaApi() {// 创建bean工厂DefaultListableBeanFactory context new DefaultListableBeanFactory();//构造bean定义GenericBeanDefinition gbd new GenericBeanDefinition();gbd.setBeanClass(BeanProcess.class);// 设置属性ListPropertyValue propertyValues new ArrayList();propertyValues.add(new PropertyValue(name, test));gbd.setPropertyValues(new MutablePropertyValues(propertyValues));// 设置生命周期方法gbd.setInitMethodName(init);gbd.setDestroyMethodName(destroy);//注册到环境上下文context.registerBeanDefinition(test, gbd);context.addBeanPostProcessor(new NineyaBeanPostProcessor());new NineyaBeanFactoryPostProcessor().postProcessBeanFactory(context);// 通过class取得beanBeanProcess beanProcess context.getBean(BeanProcess.class);System.out.println(beanProcess : beanProcess.hashCode()); }2.2 xml方式 创建 bean 的 xml 文件。 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdbean classcom.nineya.spring.entity.BeanProcess nametest init-methodinit destroy-methoddestroyproperty namename valuetest //bean!-- 注册处理器 --bean classcom.nineya.spring.processor.NineyaBeanPostProcessor/bean classcom.nineya.spring.processor.NineyaBeanFactoryPostProcessor/ /beans读取 xml 文件创建 bean 工厂。 private static void xmlFile() {ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext(spring.xml);// 通过class取得beanBeanProcess beanProcess context.getBean(BeanProcess.class);System.out.println(beanProcess : beanProcess.hashCode()); }2.3 注解方式 private static void annotation() {AnnotationConfigApplicationContext context new AnnotationConfigApplicationContext();// 配置注解扫描路径context.scan(BeanLifecycleMain.class.getPackage().getName());context.refresh();// 通过class取得beanBeanProcess beanProcess context.getBean(BeanProcess.class);System.out.println(beanProcess : beanProcess.hashCode()); }
http://www.w-s-a.com/news/352130/

相关文章:

  • 服务二级公司网站建设平台销售模式有哪些
  • 南昌县建设局网站微信分销小程序开发
  • 网站设计师需要什么知识与技能wordpress个性
  • 做茶叶网站的目的和规划有什么做照片书的网站
  • 开福区城乡建设局门户网站关键词挖掘查询工具爱站网
  • 网站建设全国排名沈阳seo按天计费
  • 成都公司网站设计无锡seo网站推广费用
  • 建网站平台要多少钱购物网站界面设计策划
  • 学完js了可以做哪些网站长沙建站官网
  • 怎么样做问卷网站多少钱英语
  • 房产网站建设方案建筑公司是干什么的
  • wordpress建的大型网站柳州市网站建设
  • 石家庄做网站的公司有哪些微信自媒体网站建设
  • 池州哪里有做网站注册公司有哪些风险
  • 做古代风格头像的网站对网站政务建设的建议
  • 网站搜索栏怎么做设计个网站要多少钱
  • 阿里巴巴网站建设目标wamp wordpress
  • 自己做的网站怎么挂网上金蝶erp
  • 网站的页面由什么组成淘宝网网站建设的需求分析
  • 软文网站推广法dede5.7内核qq个性门户网站源码
  • 个人备案网站名称校园网站建设特色
  • vr超市门户网站建设班级网站怎么做ppt模板
  • 网站建设一般是用哪个软件刚开始做写手上什么网站
  • 用jsp做的网站源代码下载有哪些做红色旅游景点的网站
  • 网站开发的技术选型黄石市网站建设
  • 做直播网站需要证书吗专做宝宝的用品网站
  • 网站标题用什么符号网站制作交易流程
  • dede模板网站教程jsp网站搭建
  • 上海网站开发外包公司鲜花导购网页制作
  • 宿州外贸网站建设公司个人注册网站一般做什么