2011-03-09 4 views
2

알로하 -스프링 의존성 이동 안드로이드에 코드 삽입

나는 기존의 웹 애플리케이션에서 안드로이드 애플리케이션으로 코드를 마이그레이션하고있다. 기존 웹 앱은 의존성 삽입을 위해 Spring을 광범위하게 사용합니다.

나는 봄 의존성 주입 내가 할 수있는 경우를 다시 사용할 수 있도록,하지만 난 당신이 웹 애플리케이션에서와 같이 초기화 할 수있는 방법이 표시되지 않습니다 :

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath:applicationContext.xml</param-value> 
</context-param> 

구글에 많은 도움을 설정하지 않습니다 주제, Guice를 사용하지 말 것. 차라리 웹 애플리케이션이 개발 중이기 때문에 그렇게하지 않을 것입니다. 따라서 Guice를 종속성에 사용하려면 Spring 의존성과 Guice 사이에서 지속적으로 동기화해야합니다.

DI를위한 DI를 플러그 앤 플레이 방식으로 사용할 수있는 방법이 있습니까? 아니면이 모든 것을 다른 방식으로 다시 작성해야합니까?

감사합니다.

답변

1

아마도 FileSystemXmlApplicationContext을 확장하고 getResourceByPath(String path)을 재정의하여 assets/폴더에서 컨텍스트 파일을 가져온 ApplicationContext를 살펴 보았습니까?

+1

당신은 아마 대신 AbstractXmlApplicationContext를 확장해야합니다. FileSystemXmlApplicationContext 구현은 getResourceByPath 구현과 몇 가지 생성자입니다. – flicken

2

http://code.google.com/p/roboguice/이 안드로이드 응용 프로그램에 스프링 의존성 주입을 사용하지 마십시오 :

당신은 Guice 경로를 아래로 이동하기로 결정하는 경우는, RoboGuice는 좋은 작은 라이브러리입니다. Android와 Spring은 어떠한 방식이나 모양 또는 형태로도 섞이지 않습니다. 대신 팩토리 디자인 패턴을 사용하여 객체를 생성하십시오.

0

귀하의 안드로이드 애플 리케이션에서 스프링 의존성 주입을 사용하십시오! :-)

그러나 Android에없는 java.beans 패키지가 필요하므로 원래 스프링 프레임 워크를 사용할 수 없습니다.

기존 스프링 구성이 너무 특별하지 않은 경우, 스프링 프레임 워크의 내 포트 RoboSpring에 만족할 것입니다. 설명에서 :

RoboSpring은 Android 플랫폼에 대한 Spring 프레임 워크의 (실제) 포트입니다. 또한 RoboGuice가 소개 한 기능에 대한 사전 지원을 제공하여 View 참조를 활동 등에 추가 할 수 있습니다. RoboSpring은 봄의 핵심, , 상황 AOP 구성 요소의 버전 3.1.0 자료를 기반으로합니다. Spring 설정 파일 (XML)와

  • 구성 응용 프로그램 구성 요소 스프링 애플리케이션 컨텍스트에서 콩
  • 자동으로 묶어 안드로이드 구성 요소에는 다음과 같은 기능을 제공합니다.
  • Android Bean에 Android 애플리케이션 컨텍스트를 주입하십시오.
  • 보기를 활동으로 삽입하십시오.
  • ... 더

여기를 참조하십시오 https://github.com/dthommes/RoboSpring

RoboSpring - Inversion of Control for Android

관련 문제