Как к @Autowire бобу с конструктором

Я пытаюсь определить боб и @Autowire org.springframework.jdbc.object. StoredProcedure, который потребовал 2 конструкторов. Есть ли способ, которым я могу передать аргумент конструктора, телеграфируя эти бобы? Ниже мой код:

@Component("procedure")
public class ExecuteStoreProcedure extends AbstractImutableDAO{

    @Autowired
    private StoredProcedure procedure;

......
}

Здесь у StoredProcedure есть конструктор, чтобы передать jdbctemplate и имя процедуры, которое является динамичным.

1
nl ja de
В котором пути вы планируете передать jdbctemplate и имя процедуры? Почему didn' t вы создают определенные бобы в весенней конфигурации XML? Как жесткое решение вы в состоянии ввести формируемый FactoryBean (static.springsource.org/spring/docs/3.1.x/…).
добавлено автор Taky, источник
Таким образом, ваш вопрос состоит в том, как добавить StoredProcedure в ApplicationContext? Если StoredProcedure - сторонний класс, вы в состоянии расширить его и аннотировать новый класс соответствующим.
добавлено автор Taky, источник
Я надеюсь формировать с с аннотацией, а не xml файлом (не уверенный, что этот выбор доступен Весной), также мое имя процедуры динамичное, который будет аргументом методу в классе
добавлено автор user1917435, источник

2 ответы

Возможно, я не понимаю вопроса, но вам не нужен конструктор params, телеграфируя, вы configire ваш боб (StoredProcedure) в context.xml


    
    

Весна создает его с данным конструктором args и вводит боб в вашу область

@Autowired
private StoredProcedure procedure;

Если не хотят использовать xml, он не изменяет идею

@Configuration
@PropertySource("spring.properties")
@EnableTransactionManagement
public class Test3 {
    @Autowired 
    Environment env;  

    @Bean 
    public ExecuteStoreProcedure getExecuteStoreProcedure() {
        ...
    }

    @Bean 
    public DataSource getDataSource() {
       ...
    }

    @Bean 
    public StoredProcedure getStoredProcedure() {
        return new MyStoredProcedure(getDataSource(), "proc1");
    }
...
4
добавлено
+1 это правильно, но название поля должно быть "proc1"
добавлено автор Jerome Cance, источник
@user1917435 я приложил пример с AnnotationConfigApplicationContext, но ' имя процедуры будет динамичным во время time', которым управляют; все еще не ясно
добавлено автор Evgeniy Dorofeev, источник
Я не думаю, что вам нужен он, Спринг знает, что это - единичный предмет и возвратит случай из тайника
добавлено автор Evgeniy Dorofeev, источник
Спасибо за ответ. Но, я надеялся формировать ту же самую аннотацию использования, также в моем случае, имя процедуры будет динамичным в течение времени выполнения, invoker класс может передать любое имя процедуры и выполнять его
добавлено автор user1917435, источник
Спасибо, этот ответ часть моего вопроса. Другой беспорядок, который я имею, делают мы требуем, чтобы создать боб как @Bean общественный StoredProcedure getStoredProcedure() {возвращают новый MyStoredProcedure (getDataSource (), "proc1");} can' t мы избегаем нового оператора?
добавлено автор user1917435, источник

Когда вы @Autowire область, вы предполагаете, что боб необходимого типа уже существует в ApplicationContext. Таким образом, то, что необходимо сделать, чтобы заставить этот код работать, должно объявить такой боб (или в xml или, если вы хотите формировать его программно, использование @Bean-видит Весенняя документация здесь).

0
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async