JSON

spring-webmvc-4.1.6 接口返回json数据中文出现u0000问题(2)

字号+ 作者:H5之家 来源:H5之家 2017-01-24 16:03 我要评论( )

beans bean id=MovieLister class=spring.MovieLister property name=finder ref local=MovieFinder/ /property /bean /beans 3 接口: public interface InjectFinder { void injectFinder(MovieFinder finder); }

<beans>
    <bean id="MovieLister" class="spring.MovieLister">
        <property name="finder">
            <ref local="MovieFinder"/>
        </property>
    </bean>
</beans>
3 接口:

public interface InjectFinder {
    void injectFinder(MovieFinder finder);
}

class MovieLister implements InjectFinder

  public void injectFinder(MovieFinder finder) {
      this.finder = finder;
  }


服务定位器

依赖注入最主要的好处是移除了MovieLister和MovieFinder的implementation(实现)上的依赖。但这并不是唯一的方法,另一种方法是服务定位器。

class ServiceLocator...

  private static ServiceLocator soleInstance;
  public static void load(ServiceLocator arg) {
      soleInstance = arg;
  }
  private Map services = new HashMap();
  public static Object getService(String key){
      return soleInstance.services.get(key);
  }
  public void loadService (String key, Object service) {
      services.put(key, service);
  }

class Tester...

  private void configure() {
      ServiceLocator locator = new ServiceLocator();
      locator.loadService("MovieFinder", new ColonMovieFinder("movies1.txt"));
      ServiceLocator.load(locator);
  }

class MovieLister...

  MovieFinder finder = (MovieFinder) ServiceLocator.getService("MovieFinder");
依赖注入对于服务定位器来说是一种备选方案。服务定位器因为它的直接行为而有些许优势,但是如果你在很多应用中创建classes的时候,依赖注入是一种更好的选择。

思考:

1.Service Locator vs Dependency Injection

2.Constructor versus Setter Injection

3.Code or configuration files

4.Separating Configuration from Use

HashMap<String, Object> map= new HashMap<String, Object>();
  //顶级菜单
  List<DedeArctypes> toplist=testService.findDedeArctypes(topid,reid,typeid,"topid");
  //二级菜单
     for (DedeArctypes dedeArctypes1 : toplist) {
      System.out.println("一级菜单"+dedeArctypes1.getTypename());
      List<DedeArctypes> reidlist1=testService.findDedeArctypes(topid,dedeArctypes1.getId(),typeid,"reid");
      
      map.put(dedeArctypes1.getId()+"", reidlist1);
         for (DedeArctypes dedeArctypes2 : reidlist1) {
          System.out.println("二级菜单"+dedeArctypes2.getTypename());
          List<DedeArctypes> reidlist2=testService.findDedeArctypes(topid,dedeArctypes2.getId(),typeid,"reid");
       map.put(dedeArctypes2.getId()+"", reidlist2);
       for (DedeArctypes dedeArctypes3 : reidlist2) {
        System.out.println("三级菜单"+dedeArctypes3.getTypename());
    }
   }
     }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • js如何将返回的字符串转换为json格式的数据

    js如何将返回的字符串转换为json格式的数据

    2017-01-09 18:00

  • PHP返回JSON、XML的类

    PHP返回JSON、XML的类

    2016-12-28 12:00

  • PHP POST获取的JSON使用json_decode返回NULL

    PHP POST获取的JSON使用json_decode返回NULL

    2016-12-13 12:03

  • iOS学习笔记29—天气JSON接口

    iOS学习笔记29—天气JSON接口

    2016-11-24 15:02

网友点评
v