Maison > Java > javaDidacticiel > Une brève discussion sur l'initialisation des haricots dans des conteneurs à ressort

Une brève discussion sur l'initialisation des haricots dans des conteneurs à ressort

高洛峰
Libérer: 2017-01-24 15:19:24
original
1288 Les gens l'ont consulté

Lorsque nous ajoutons un bean dans le conteneur spring, si son attribut scope n'est pas spécifié, la valeur par défaut est singleton, qui est un singleton.

Par exemple, déclarez d'abord un bean :

public class People {
 private String name;
 private String sex;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
   
}
Copier après la connexion

Configurez

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
  
 <bean id="people" class="People" ></bean>
 
</beans>
Copier après la connexion

dans le applicationContext.xml fichier

Ensuite, récupérez-le via le conteneur Spring :

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
  
public class SpringTest {
  
 public static void main(String[] args) {
  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
  People p1=(People) context.getBean("people");
  People p2=(People) context.getBean("people");
  System.out.println(p1);
  System.out.println(p2);
 }
  
}
Copier après la connexion

Après l'exécution, vous pouvez voir l'entrée de p1 et p2 Le contenu est le même, indiquant que les haricots au printemps sont des singletons.

Si vous ne voulez pas de bean singleton, vous pouvez changer l'attribut scope en prototype

<bean id="people" class="People" scope="prototype" ></bean>
Copier après la connexion

De cette façon, les haricots obtenus via le conteneur Spring ne sont pas des célibataires.

Le conteneur Spring crée automatiquement des objets pour tous les beans après le démarrage par défaut. Si vous souhaitez les créer lorsque nous obtenons les beans, vous pouvez utiliser l'attribut lazy-init

Cet attribut en a trois. Valeur par défaut, vrai, faux. La valeur par défaut est default. Cette valeur est la même que false. L'objet bean est créé au démarrage du conteneur spring. Lorsqu'il est spécifié comme true,

ne créera l'objet que lorsque nous obtiendrons le bean.

L'article ci-dessus discutant brièvement de l'initialisation des beans dans le conteneur Spring est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère que vous soutiendrez le site Web PHP chinois.

Pour plus d'articles liés à l'initialisation des beans dans les conteneurs Spring, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal