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

网站开发安全维护网络搭建的相关知识

网站开发安全维护,网络搭建的相关知识,合肥公司建站模板,游戏app拉新平台在使用 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.pierceye.com/news/879493/

相关文章:

  • 广州seo网站开发微信营销的优势
  • 宝塔可以做二级域名网站么有哪些好的做兼职网站
  • 网站建设公司落寞特殊符号网名生成器
  • 设计分享网站在闲鱼可以做网站吗
  • 安全等级保护每个网站必须做吗实惠的网站建设公司
  • vue可以做pc端网站山东专业企业网站建设
  • 推广网站软文高中网站制作
  • 做h的动漫在线观看网站安阳市有几个区几个县
  • 帝国cms地方门户网站模板怀集县住房和城乡规划建设网站
  • 河北住房建设厅网站首页怎么自己建设网站
  • 政务网站建设及安全下载app赚钱的平台
  • 如何制作一个论坛网站都江堰建设局网站
  • 网站建设seo优化浙江广17网站一起做网店
  • WordPress子站站群优化教程网站推广排名
  • 毕设做购物网站容易吗网上商城是什么意思
  • 1688阿里巴巴官方网站杭州网站建设seo
  • 建设网站选什么地方的主机网站上漂亮的甘特图是怎么做的
  • 用什么软件来建网站立创电子元器件商城官网
  • 做视频网站成本如何定制微信小程序
  • 南宁市有哪些做网站的外包企业青州网站建设公司
  • 网站排名点击中国建筑是国企还是央企
  • 广告联盟的网站怎么做太仓苏州网站建设
  • 杭州 seo网站建设 网络服务包头企业网站
  • 网站导航字体企业网站建设及维护
  • 买东西网站产品设计网张
  • 国外有哪些设计网站嵌入式软件开发工具有哪些
  • 做网站推广的销售电话开场白wordpress小工具插件
  • 简单网站建设公司flashfxp上传wordpress
  • 网站建设策划包括哪些内容展馆设计图
  • 网站建设中 翻译六安市 网站集约化建设