Sì, @PostConstruct è usabile anche in Spring (oltre che JavaEE e altri framework). Il @Inject mi pare anche ma normalmente uso l'@Autowired (proprietario Spring).
Sì, per iniettare i componenti, è necessaria la reflection. Per creare/settare gli oggetti della GUI invece no, non sarebbe necessario ma dipende dall'approccio specifico. Se ti aspetti di enumerare gli attributi XML es. "title" e poi andare semplicemente a guardare (tramite reflection) se esiste nell'oggetto JFrame creato una proprietà "title" (ovvero get/setTitle(), che è proprio così in JFrame) e poi invochi il setter tramite reflection, sì, questa è una possibilità. Ma non è l'unica, si può fare anche diversamente, senza reflection, ovviamente scrivendo del codice apposito.
L'approccio "pull", ovvero io che vado a chiedere alla infrastruttura di loading "dammi l'oggetto con id X", è un po' più critico nel senso che ovviamente deve essere mantenuto un "contesto" di informazioni sulla UI creata e devi stabilire quando/per quanto/dove è accessibile.