2017-05-10 13 views
0

현재 스프링을 프레임 워크로 사용하고 야외용 게임을 ged처럼 개발 중입니다. 야외용 저장소에 연결하기 위해 아파치 화학을 사용하고 있습니다. 세션을 가져 오기 위해 사용하는 코드입니다.봄철 아파치 화학 세션

스프링 콩으로이 코드를 바꿀 수있는 방법이 있나요? 왜냐하면 저는이 세션을 다른 클래스에서 사용하기 때문에 싱글 톤이 더 낫습니다.

Map<String, String> parameter = new HashMap<String, String>(); 

    // user credentials 
    parameter.put(SessionParameter.USER, "admin"); 
    parameter.put(SessionParameter.PASSWORD, "admin"); 

    // connection settings 
    parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/cmisatom"); 
    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); 
    System.out.println(BindingType.ATOMPUB.value()); 
    // set the alfresco object factory 
    parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl"); 

    // create session 
    SessionFactory factory = SessionFactoryImpl.newInstance(); 
    Session session = factory.getRepositories(parameter).get(0).createSession(); 

답변

1

그냥 빈으로 선언 :

@Bean 
public Session sessionBean() { 
    Map<String, String> parameter = new HashMap<String, String>(); 
    // ... 
    SessionFactory factory = SessionFactoryImpl.newInstance(); 
    Session session = factory.getRepositories(parameter).get(0).createSession(); 
    return session; 
} 

그래서 당신은 당신이 필요로하는 곳이 세션 빈을 주입 할 수 있습니다.

+0

일반적으로 응용 프로그램 컨텍스트 파일에서이 bean을 추가해야합니다. –

+0

[Spring doc] (http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch02s02.html) :'@Bean은 메서드 수준의 주석이며 직접 XML 요소의 아날로그. " –

+0

괜찮습니다. 고맙습니다. :) –