前提・実現したいこと
DIコンテナで管理しているクラスを正攻法で複数インスタンスにしたいです
@Autowiredで同じクラスの複数フィールドを作ると
それらが1つのインスタンスになってしまうので
Aフィールドに対して操作を行ってもBフィールドに対しても操作されていしまいます
Aフィールド、Bフィールドのインスタンスを別にしたいです
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
java
1@component 2public class MessageService{ 3 4private String message; 5public MessageService(String msg){ 6this.message = msg; 7} 8} 9 10 11public class Main{ 12 13@Autowired//どうにか分けたい コンストラクタに引数を入れたい 14private MessageService messageService1; 15 16@Autowired 17private MessageService messageService2; 18 19public void execute(){ 20 21} 22} 23
補足情報(FW/ツールのバージョンなど)
org.springframework.boot 2.5.2
調べてみて
下記に解決方法みたいなのが書いてありますが
下記方法以外ないのでしょうか
できれば@Autowiredで実現したいです
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfiguration.class);
String helloCat = (String) context.getBean("hello", "Cat");
String helloDog = (String) context.getBean("hello", "Dog");
コンストラクタに引数が必要なクラスのDIについて
https://teratail.com/questions/66194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。