there's been a rush of lightweight containers that help to assemble components from different projects into a cohesive application. Underlying these containers is a common pattern to how they perform the wiring
M. De Wael, S. Marr, and T. Van Cutsem. Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, page 39--50. (September 2014)(acceptance rate 39%).