powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring ioc и установка property через метод
5 сообщений из 5, страница 1 из 1
Spring ioc и установка property через метод
    #38873938
23r9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как правильно задать свойство через метод в Spring ioc.

У меня есть класс Test1 со свойством account:

Код: java
1.
2.
3.
4.
5.
class Test1{

    Account account;

}




И class Authentication:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
class Authentication{

    Account getPrincipal(){
        //...
        return account;
    }

}



В applicationContext.xml указываю так:

Код: xml
1.
2.
3.
<bean id="Test1" class="com.otv.Test1">
    <property name="account" value="com.otv.util.Authentication.getPrincipal" />
</bean>




Но пишет ошибку мол не удалось конвертировать строку в Account:

Код: xml
1.
Error creating bean with name 'Test1' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.String' to required type 'com.otv.model.entity.Account' for property 'account'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.otv.model.entity.Account] for property 'account': no matching editors or conversion strategy found]]



Подскажите как правильно установить свойство?
...
Рейтинг: 0 / 0
Spring ioc и установка property через метод
    #38873964
MaxNevermind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23r9,

У вас в Test1 поле account типа Account, а вы в него пытаетесь строку засетить
...
Рейтинг: 0 / 0
Spring ioc и установка property через метод
    #38873984
23r9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxNevermind , а как тогда указать вызов метода

Я так еще так пробовал, не хочет
Код: xml
1.
2.
3.
<bean id="Test1" class="com.otv.Test1">
    <property name="account" value="#{com.otv.util.Authentication.getPrincipal}" />
</bean>
...
Рейтинг: 0 / 0
Spring ioc и установка property через метод
    #38874009
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Налицо непонимание всего. Надо почитать, например, официальный мануал от Спринга. Там про все это написано.

Начну подсказывать.
Свойство надо указать как ссылку на другой бин:
Код: xml
1.
2.
3.
<bean id="Test1" class="com.otv.Test1">
    <property name="account" ref="principalBean" />
</bean>



Теперь надо как-то определить этот principalBean.
...
Рейтинг: 0 / 0
Spring ioc и установка property через метод
    #38874380
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23r9Подскажите как правильно установить свойство?

Судя по коду вам вообще нужно совсем другое. :-)

Где-то так.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
class Test1{

    @Autwoired
    Authentication authentication;

}

@Service
class Authentication{

    public Account getPrincipal(){
        //...
        return account;
    }

}



Т.е. у вас есть класс для аутентификации (грубо говоря это сервис), который возвращет текущий акаунт.
А в Test1 вы просто используете данный сервис, получая нужный вам аккаунт.
Где-то так.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring ioc и установка property через метод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]