Maison > Questions et réponses > le corps du texte
最近开发一个Java应用程序,希望能使用Spring来实现依赖注入。
在Web应用程序中,可以在web.xml文件中配置listener来自动实现注入。
在Java Application中,可以通过如下的方式来加载Spring:
ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");
Hello hello = ctx.getBeans("hello");
但这样的一个问题是,在每次使用一个bean时,都需要显示调用一次getBeans。
不知有什么好的方法,能够让Spring自动加载对象,而不需要显式调用getBeans?
更多 0
迷茫2017-04-18 09:53:09
Écrivez deux lignes supplémentaires en suivant votre exemple.
public class Main{
public static void main(String[] args){
ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");
Hello hello = ctx.getBeans("hello");
hello.say();
}
}
class Hello {
@Autowired
private DbUtil db;
public void say(){
System.out.println(db.getWelcomeInfo());
}
}
La couche qui gère initialement les requêtes dans le projet Web doit encore être générée via getBeans(). C'est juste que cette étape est effectuée par tomcat/strtus/springMVC.
Spring injectera automatiquement les classes gérées par lui Cependant, la classe principale démarrée par votre programme n'est pas générée par la direction de Spring.
PHP中文网2017-04-18 09:53:09
Pour utiliser l'injection de dépendances de Spring, vous devez d'abord obtenir le bean de Spring pour vous assurer que les dépendances du bean ont été injectées. Si vous créez vous-même un nouvel objet, comment Spring peut-il l'injecter pour vous ?
Vous pouvez encapsuler vous-même la méthode getBeans
高洛峰2017-04-18 09:53:09
Vous devez traiter votre HELLO comme une variable membre, puis accéder à @autowired ou @Resourse
ringa_lee2017-04-18 09:53:09
L'injection de dépendances n'est rien de plus que deux étapes :
Déclarer le bean
Injecter le haricot
Comment déclarer un bean :
avec XML
Ajouter @Component, @Service, etc. à la classe
Écrivez la méthode @Bean dans la classe avec @Configuration
Méthode d'injection des haricots :
avec XML
Annotations comme @Autowire
Il n'est peut-être pas complet, mais ceux-ci devraient être ceux couramment utilisés. Pour plus de détails, veuillez vous référer à la documentation du printemps et à la partie ioc
.Posons une question
Il n'est pas nécessaire de configurer l'écouteur dans web.xml dans les applications Web (le prérequis est servlet3.0+, comme tomcat7+)
Pour les applications Java, pourquoi ne pas essayer Spring Boot ?
PHP中文网2017-04-18 09:53:09
Le propriétaire du sujet recommandé peut jeter un œil à @ChaChage Servlet 3 + Spring MVC zéro configuration : supprimer tous les fichiers XML