当前位置: 首页 > 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.zqtcl.cn/news/168584/

相关文章:

  • 重庆建设集团网站首页wordpress主题inn
  • 对京东网站建设的总结湖北做网站的
  • 杭州网站开发后端招郑州工装定制
  • 网站搭建论文filetype ppt 网站建设
  • 个人做营利性质网站会怎么样如何引用网站上的资料做文献
  • 新网站制作市场泰安做网站哪家好
  • 常熟苏州网站建设flash如何制作网站
  • 电商网站都是用什么做的网站服务器维护方案
  • 简述企业网站建设的流程手机怎么自己做网页
  • 网站备案信息管理呼图壁网站建设
  • 网站建设学习资料开发一套软件需要多少钱
  • 大庆网站设计衡阳seo网站推广
  • 基层科普网站建设的现状自己做的网站怎样链接数据库
  • 网站建设工程师的职位要求化妆品行业网站开发
  • 做海报有什么素材网站知乎什么样的蓝色做网站做好看
  • 餐饮网站建设网站wordpress优酷视频插件下载
  • 什么网站做广告效果好wordpress中文cms
  • seo与网站优化广州洲聚网站开发
  • 建一个自己用的网站要多少钱北京网站建设价格天
  • 免费做婚礼邀请函的网站如何设定旅游网站seo核心关键词
  • 网上做问卷调查赚钱哪些网站好全flash网站制作
  • 个人网站备案核验单填写wordpress登录安全插件下载
  • 拖拽做网站cms系统设计
  • 村建站什么部门网站建设步骤图
  • 移动端网站建设的意义中工信融网站建设
  • 网站设计宽屏尺寸盐城网站建设渠道合作
  • 网站所有者查询hexo做网站
  • 杭州专业网站设计策划大数据网站建设和
  • 建一个自己的网站需要多少钱泰州网站快速排名优化
  • 企业网站的建设企业湖南网络推广