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

如何租用网站服务器教人做衣服得网站有哪些

如何租用网站服务器,教人做衣服得网站有哪些,网站模板插件,wordpress 不显示全文一、文件解析器的例子 在开发中我们可能会解析CSV#xff0c;JSON等文件类型#xff0c;显然要用策略模式 我们先定义一个Parser接口 public interface Parser {void parse(String input); } Parser接口的实现类有JSONParser#xff0c;CSVParser Component(CSVJSON等文件类型显然要用策略模式 我们先定义一个Parser接口 public interface Parser {void parse(String input); } Parser接口的实现类有JSONParserCSVParser Component(CSV) public class CSVParser implements Parser{Overridepublic void parse(String input) {System.out.println(csv);} }Component(JSON) public class JSONParser implements Parser{Overridepublic void parse(String input) {System.out.println(json);} }然后我们定义一个工厂来获取Parser对象 public interface ParserFactory {Parser getParser(ContentType type);} 在该工厂方法的参数是一个枚举 public enum ContentType {JSON,XML,TEXT,HTML,IMAGE,OTHER; } 写一个配置类 Configuration public class ParserConfig {Beanpublic FactoryBean serviceLocatorFactoryBean(){ServiceLocatorFactoryBean factoryBean new ServiceLocatorFactoryBean();factoryBean.setServiceLocatorInterface(ParserFactory.class);return factoryBean;}} 测试 Autowiredprivate ParserFactory parserFactory;Testvoid contextLoads() {Parser parser parserFactory.getParser(ContentType.JSON);parser.parse({name:John});} 二、原理 ServiceLocatorFactoryBean实现了接口FactoryBean和InitializingBean实现InitializingBean会在初始化ServiceLocatorFactoryBean调用afterPropertiesSet方法具体实现如下代码 Overridepublic void afterPropertiesSet() {if (this.serviceLocatorInterface null) {throw new IllegalArgumentException(Property serviceLocatorInterface is required);}// Create service locator proxy.this.proxy Proxy.newProxyInstance(this.serviceLocatorInterface.getClassLoader(),new Class?[] {this.serviceLocatorInterface},new ServiceLocatorInvocationHandler());} 在afterPropertiesSet主要给ServiceLocatorFactoryBean的成员变量proxy赋值生成代理对象其中接口就是我们前面的ParserFactory。         我们知道实现FactoryBean可以帮助我们创建bean其中getObject可以获得bean实现内容如下  OverrideNullablepublic Object getObject() {return this.proxy;} getObject返回的ParserFactory的代理对象生成动态代理方式是采用JDK代理主要关注invoke方法ServiceLocatorFactoryBean的内部类实现类接口InvocationHandler Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {....return invokeServiceLocatorMethod(method, args); }private Object invokeServiceLocatorMethod(Method method, Object[] args) throws Exception {Class? serviceLocatorMethodReturnType getServiceLocatorMethodReturnType(method);try {String beanName tryGetBeanName(args);Assert.state(beanFactory ! null, No BeanFactory available);if (StringUtils.hasLength(beanName)) {// Service locator for a specific bean namereturn beanFactory.getBean(beanName, serviceLocatorMethodReturnType);}else {// Service locator for a bean typereturn beanFactory.getBean(serviceLocatorMethodReturnType);}}catch (BeansException ex) {if (serviceLocatorExceptionConstructor ! null) {throw createServiceLocatorException(serviceLocatorExceptionConstructor, ex);}throw ex;}} invoke主要先根据方法参数获得beanName通过beanFactory获得bean实例因此要特别注意传入工厂方法的参数要与被spring管理的bean的名字一致才行
http://www.pierceye.com/news/168584/

相关文章:

  • 雅安市网站建设搭建网站工具
  • 网站如何做301重定向南宁一站网 给网站做营销
  • 网站 使用的字体女生电子商务专业适合做什么
  • 电商网站首页模板连云港 网站 建设
  • 自助建站广告发布企业年检网上申报流程
  • 河北平台网站建设价位外包网站有哪些
  • 做网站客户需要提供的资料梧州网站建设推荐
  • 网站商城建设实训心得网络推广有用吗
  • 考试网站建设房价2024年暴跌
  • 北京网站seo价格建设教育培训的网站
  • 怎样做网站手机和电脑通用木马工业设计公司
  • 榆林市建设局官方网站ppt中网站布局图怎么做
  • 网站视频插件代码如何创建自己的软件
  • 如何免费建造网站电商网站建设哪家好
  • ps做网站首页设计教程郑州seo优化外包热狗网
  • 给网站增加功能怎么做360搜索关键词优化软件
  • 如何做公司网站空间南昌做网站的公司哪个比较好的
  • 美容网站开发网络营销的功能有哪些
  • 推广自己的网站需要怎么做做政协网站的目的是什么
  • 综合性电子商务网站有哪些商城系统软件开发
  • 网站服务器解决方案企业门户网站管理要求
  • 南京网站开发南京乐识专注岳阳网站建设网站
  • 做一直播网站要多少钱淘宝客如何建设推广网站
  • 网站模板内容怎么添加图片不显示菏泽做网站
  • 个人网站备案条件盐城做网站哪家好
  • 小型网站开发教程wordpress自适应小说
  • 来宾网站制作公司网站提交至google
  • 唐山网站建设怎么样专业的个人网站建设哪家
  • 成品网站w灬源码在线看重庆网站制作设计
  • 有没有在家做的兼职网站网站模板如何删除