The question is pretty straightforward, I’ll try to explain why I want some explainations.
(All of this is my 1½-year junior Java developer opinion, which may be more than incomplete. Which is why I am asking the question there).
- It increases the coupling bewteen classes, as some classes need other classes, and so on. Having static beans would mean you call them whenever you want, without them actually interfering in your attributes: it would be like calling utility methods, but they are written elsewhere.
- It is sometimes a nightmare to manage, especially when you have an xml-oriented configuration on a legacy project that you need to manage.
- If you need more dependencies in your class (I have a cute one with something like 26 attributes that I try to cut down to pieces), you would want to cut it down to smaller classes, but those classes may need still a lot of beans to function, so you cut down again. It brings a lot of complexity to the scene.
I am working on a 70k-ish LOC Java project, and it is my very first experience in the field. I am trying to improve the design of this web-application, and I think I missed the key points of Java beans with Spring.
So the question is: is using static classes for beans a bad idea / a poor design ? What would be a good one ?
Bonus question: any advices on how to decompose with elegance (elegantly ?) a Spring bean application ?
Thank you
PS: I already read about this related question which treats more about states of classes/beans and how to avoid it, than staticity of beans as a poor/good design.