В явной форме определены бобы, можно определить инициализации и уничтожить методы с помощью аннотаций на классе конфигурации Spring:Как установить метод Init для фасоли автоматически созданных компоненты Сканирования весной
@Configuration
@ComponentScan
public class Appconfig {
@Bean(name="Andre",initMethod="init",destroyMethod="destroy")
@Scope("singleton")
public Person person() {
Person person = new Person(1,"Andre");
person.setTaxId(5);
return person;
}
Однако, если компонент автоматически создается весной через компонентное сканирование, как это сделать?
Я читал об этом, чтобы добиться такого же эффекта с помощью бобов, созданных при сканировании компонентов, метод init должен быть аннотирован с помощью @PostConstruct. Однако @PostConstruct не является частью Spring, и когда я использую эту аннотацию, у меня есть ошибка
«PostConstruct не может быть разрешен к типу».
Как-то, Eclipse, похоже, не знает, как автоматически импортировать эту аннотацию. После некоторого более просмотра я обнаружил, что с помощью
import javax.annotation.PostConstruct;
работает, но с предупреждением говоря: ограничение
доступа: Тип «PostConstruct» не API (ограничение на требуемую библиотеку «C: \ Program Files \ Java \ jre1.8.0_45 \ Lib \ rt.jar ')
Так что у меня 2 вопроса:
ли пружина имеет встроенный механизм для объявления инициализации и разрушающих методы компа onent отсканированные бобы?
Почему у меня есть ошибка: Ограничение доступа: Тип «PostConstruct» не является API (ограничение на требуемую библиотеку «C: \ Program Files \ Java \ jre1.8.0_45 \ lib \ rt.jar»), когда используя @PostConstruct?
Заранее благодарен!
вам нужно включить в конфигурацию весны, один из ответов дает понять, как можно сделать аннотации весной http://stackoverflow.com/questions/5919982/is-there- что-то типа-predestroy-в-весной-в-в-замок-Виндзорский –
awsome