2012-03-27 7 views
1

Я использую Spring 3.0 для моего проекта, я имею класс MySingletonClass, это синглтон, как показано ниже:Spring аннотации для фабричного метода

//@Component("mySingletonClass") 
public class MySingletonClass { 
    private static MySingletonClass obj = new MySingletonClass(); 

    public static MySingletonClass getSingleObj() { 
     return obj; 
    } 
} 

весной конфигурация боба XML для этого класса, как показано ниже:

<bean id="mySingletonClass" class="app.MySingletonClass" factory-method="getSingleObj" /> 

Я пытался удалить фасоль и использовать аннотацию. Как написать аннотацию для заводского метода?

Спасибо заранее!

+0

проверить это http://stackoverflow.com/q/9598829/184536 – Pokuri

ответ

2

Spring создает экземпляры, такие как Singleton, по умолчанию. Вы можете просто сделать.

 


    @Component("mySingletonClass") 
    public class MySingletonClass { 
    } 

 

И если вы не изменяете область видимости, ваш компонент является одиночным.

1

Весенние компоненты автоматически создаются как одиночные.

Объявите аннотации @Controller на классе

@Controller 
public class MySingletonClass { 
} 

Затем в файле Spring Config, объявить как:

<bean id="mySingleton" class="com.package.MySingletonClass">

Затем использовать в другом классе вы можете использовать или сеттер автоматическое связывание/Инъекция зависимостей конструктора.

@Component 
public class OtherClass { 
    @Autowired 
    private MySingletonClass mySingleton; 
}