Le tutoriel printanier le plus complet de l'histoire, qui vous emmène en profondeur à partir de zéro

Reste debout toute la nuit. 2021-08-20 00:02:04 阅读数:996

le tutoriel printanier le complet
</property>

</bean>


### [](https://gitee.com/vip204888/java-p7)**4、ListInjection**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

<property name=“hobbys”>

<list>
<value>Écouter des chansons</value>
<value>Voir un film</value>
<value>Escalade des montagnes</value>
</list>

</property>


[Obtenir des informations](https://gitee.com/vip204888/java-p7)
### [](https://gitee.com/vip204888/java-p7)**5、MapInjection**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

<property name=“card”>

<map>
<entry key="China Post" value="456456456465456"/>
<entry key="Construction" value="1456682255511"/>
</map>

</property>


### [](https://gitee.com/vip204888/java-p7)**6、setInjection**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

<property name=“games”>

<set>
<value>LOL</value>
<value>BOB</value>
<value>COC</value>
</set>

</property>

//Ajouter un groupe1025684353On va bavarder.


### [](https://gitee.com/vip204888/java-p7)**7、NullInjection**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

<property name=“wife”><null/></property>


### [](https://gitee.com/vip204888/java-p7)**8、PropertiesInjection**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

<property name=“info”>

<props>
<prop key="Numéro d'étudiant">20190604</prop>
<prop key="Sexe">Hommes</prop>
<prop key="Nom">Xiao Ming</prop>
</props>

</property>


[Obtenir des informations](https://gitee.com/vip204888/java-p7)
### [](https://gitee.com/vip204888/java-p7)**Version complète**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

<?xml version=“1.0” encoding=“UTF-8”?>

<beans xmlns=“ http://www.springframework.org/schema/beans

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--1、 Injection constante -->
<!--<bean id="student" class="com.study.pojo.Student"> <property name="name" value="Xiao Ming"/> </bean>-->
<!--2、beanInjection-->
<bean id="address" class="com.study.pojo.Address">
<property name="address" value="Guangxi"/>
</bean>
<!--2、 Injection de tableau -->
<bean id="student" class="com.study.pojo.Student">
<property name="name" value="Zhang San"/>
<property name="address" ref="address"/>
<property name="books">
<array>//Ajouter un groupe1025684353On va bavarder.
<value>Rêve de la Chambre rouge</value>
<value>Voyage vers l'Ouest</value>
<value>Marge d'eau</value>
<value>Romance des Trois Royaumes</value>
</array>
</property>
<!--3、ListInjection-->
<property name="hobbys">
<list>
<value>Chante.</value>
<value>Saute!</value>
<value>rep</value>
<value>Basketball</value>
</list>
</property>
<!--4、MapInjection-->
<property name="card">
<map>
<entry key="Carte d'identité" value="123"/>
<entry key=" Carte d'étudiant " value="456"/>
</map>
</property>
<!--3、SetInjection-->
<property name="games">
<set>
<value>LOL</value>
<value>COC</value>
<value>BOB</value>
</set>
</property>
<!--3、nullInjection-->
<property name="wife">
<null/>
</property>
<!--3、PropertiesInjection-->
<property name="info">
<props>//Ajouter un groupe1025684353On va bavarder.
<prop key="Numéro d'étudiant">456</prop>
<prop key="username">Zhang San</prop>
<prop key="password">123456</prop>
</props>
</property>
</bean>

</beans>


> ### [](https://gitee.com/vip204888/java-p7)**2.、Écrire une classe de test**
[Obtenir des informations](https://gitee.com/vip204888/java-p7)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

import com.study.pojo.Student;

import com.study.pojo.User;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {

public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Student student = context.getBean("student", Student.class);
System.out.println(student.toString()
);
}

> ### [](https://gitee.com/vip204888/java-p7)**Trois、Imprimer les résultats**
[![image](https://s2.51cto.com/images/20210819/1629388105703766.jpg)](https://gitee.com/vip204888/java-p7)
[![image](https://s2.51cto.com/images/20210819/1629388106680555.jpg)](https://gitee.com/vip204888/java-p7)
[![image](https://s2.51cto.com/images/20210819/1629388107953197.jpg)](https://gitee.com/vip204888/java-p7)
[](https://gitee.com/vip204888/java-p7) Extension de la mise en œuvre de l'injection
=====================================================================
> ### [](https://gitee.com/vip204888/java-p7)**Un.、Écrire une classe d'entité: 【Attention!: Il n'y a pas de constructeur de paramètres ici !】**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

package com.study.pojo;

public class User {

private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}

}


[Obtenir des informations](https://gitee.com/vip204888/java-p7)
> ### [](https://gitee.com/vip204888/java-p7)**2.、CompilationspringProfil【userbeans.xml】**
**1、P Injection d'espace de noms : Doit être dans le fichier d'en - tête si le fichier de contrainte **
\*\* Importer des contraintes : xmlns:p=“[http://www.springframework.org/schema/p](https://gitee.com/vip204888/java-p7)”

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

<!–P(Propriétés: properties)Espace de noms , La propriété doit encore être définie setMéthodes–>

<bean id=“user” class=“com.study.pojo.User” p:name=“Zhang San” p:age=“18”/>


**2、c Injection d'espace de noms : Doit être dans le fichier d'en - tête si le fichier de contrainte **
\*\* Importer des contraintes : xmlns:c=“[http://www.springframework.org/schema/c](https://gitee.com/vip204888/java-p7)”

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

<!–C(Structure: Constructor)Espace de noms , La propriété doit encore être définie setMéthodes–>

<bean id=“user” class=“com.study.pojo.User” c:name=“Li - si.” c:age=“18”/>


[![image](https://s2.51cto.com/images/20210819/1629388109423341.jpg)](https://gitee.com/vip204888/java-p7)
> ### [](https://gitee.com/vip204888/java-p7)**Trois、Écrire une classe de test**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

@Test

public void test2(){

ApplicationContext context = new ClassPathXmlApplicationContext("userbeans.xml");
User user = context.getBean("user2", User.class);
System.out.println(user);//Ajouter un groupe1025684353On va bavarder.

}


> ### [](https://gitee.com/vip204888/java-p7)**Résultats des tests:**
[Obtenir des informations](https://gitee.com/vip204888/java-p7)
[![image](https://s2.51cto.com/images/20210819/1629388110592814.jpg)](https://gitee.com/vip204888/java-p7)
[](https://gitee.com/vip204888/java-p7)BeanLa portée de
=======================================================================
**InSpringMoyenne, Ceux qui composent le corps de la demande et qui sont composés de Spring IoC Objet géré par le conteneur ,Ça s'appellebean.En termes simples,beanParIoC Initialisation du conteneur 、 Objets assemblés et gérés .**
| Catégorie | Description |
| --- | --- |
| singleton | InSpring IOC Il n'y a qu'un seul BeanExemple(Cas unique),Bean Existe sous forme de Singleton ,Par défaut |
| prototype | Chaque fois que vous appelez à partir d'un conteneur BeanHeure, Renvoie une nouvelle instance , C'est - à - dire chaque appel getBeanHeure, équivalent à l'exécution new XxxBean() |
| request | Chaque foisHTTP Les demandes créent une nouvelle Bean, Ce champ d'application ne s'applique qu'à WebApplicationContextEnvironnement |
| seesion | Le mêmeHTTP SessionPartager unBean,C'est différent.Session Utilisation différente Bean, Uniquement pour WebAppcationContextEnvironnement |
** Dans plusieurs domaines ,request、session Champ d'application uniquement basé sur web Utilisé dans l'application de ( Ne vous souciez pas de ce que vous utilisez webCadre d'application), Ne peut être utilisé que sur la base de webDeSpring ApplicationContextEnvironnement.**
[Obtenir des informations](https://gitee.com/vip204888/java-p7)
> ### [](https://gitee.com/vip204888/java-p7)**1、Singleton**
**Quand unbean Le champ d'application est Singleton,AlorsSpring IoCIl n'y aura qu'un seul partage dans le conteneurbeanExemple(Cas unique), Et toutes les paires beanDemandes,Tant queidAvecbean Les définitions correspondent , Il ne retournera que beanMême exemple de.**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.

<bean id=“ServiceImpl” class=“cn.csdn.service.ServiceImpl” scope=“singleton”>


> ### [](https://gitee.com/vip204888/java-p7)**2、 Prototype**
**Quand unbean Le champ d'application est Prototype,Représente unbean La définition correspond à plusieurs instances d'objets .**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

<bean id=“account” class=“com.foo.DefaultAccount” scope=“prototype”/>

Ou

<bean id=“account” class=“com.foo.DefaultAccount” singleton=“false”/>


> ### [](https://gitee.com/vip204888/java-p7)**3、Request**
**Quand unbean Le champ d'application est Request, Ça veut dire qu'une fois HTTPDemande en cours,Unbean La définition correspond à une instance ;C'est - à - dire chaqueHTTP Chaque demande aura sa propre beanExemple, Ils sont basés sur bean Définition créée par .**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

<bean id=“loginAction” class=cn.csdn.LoginAction" scope=“request”/>


> ### [](https://gitee.com/vip204888/java-p7)**4、Session**
**Quand unbean Le champ d'application est Session, Représente dans un HTTP SessionMoyenne,Unbean La définition correspond à une instance .**

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

<bean id=“userPreferences” class=“com.foo.UserPreferences” scope=“session”/>


[](https://gitee.com/vip204888/java-p7)BeanMontage automatique pour
========================================================================
[Obtenir des informations](https://gitee.com/vip204888/java-p7)
** L'assemblage automatique est utilisé springSatisfactionbean Une méthode dépendante
spring Sera dans le contexte de l'application pour un bean Pour trouver ses dépendances bean.**
Spring L'assemblage automatique de , Ou deux opérations :
1. Scan des composants(component scanning):spring Découvre automatiquement ce qui a été créé dans le contexte de l'application bean;
2. Montage automatique(autowiring):spring Auto - satisfaction beanDépendances entre, C'est ce qu'on dit IoC/DI;
** L'assemblage automatique n'est pas recommandé xmlConfiguration , Et avec des notes .**
> ### [](https://gitee.com/vip204888/java-p7)**Construction de l'environnement**
**1、 Créer deux nouvelles classes d'entités ,Cat Dog Il y a une façon de l'appeler **

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.

package com.study.pojo;

public class Cat {

public void shout(){//Ajouter un groupe1025684353On va bavarder.
System.out.println("miao~");
}

}


package com.study.pojo;
public class Dog {
public void shout(){
System.out.println("wang~");
}
}
```
**2、 Créer une nouvelle classe d'utilisateurs User**
```
package com.study.pojo;
public class People {
private Cat cat;
private Dog dog;
private String name;
}
```
**3、 CompilationSpringProfil**
```
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dog" class="com.study.pojo.Dog"/>
<bean id="cat" class="com.study.pojo.Cat"/>
<bean id="user" class="com.study.pojo.User">
<property name="cat" ref="cat"/>//Ajouter un groupe1025684353On va bavarder.
<property name="dog" ref="dog"/>
<property name="str" value="zhangsan"/>
</bean>
</beans>
```
[Obtenir des informations](https://gitee.com/vip204888/java-p7)
**4、Tests**
```
public class MyTest {
@Test
public void testMethodAutowire() {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user = (User) context.getBean("user");//Ajouter un groupe1025684353On va bavarder.
user.getCat().shout();
user.getDog().shout();
}
}
```
**5、Imprimer les résultats**
[![image](https://s2.51cto.com/images/20210819/1629388111350243.jpg)](https://gitee.com/vip204888/java-p7)
> ### [](https://gitee.com/vip204888/java-p7)**Un.、byName**
**autowire byName ( Montage automatique par nom )**
ModifierbeanConfiguration, Ajouter un attribut autowire=“byName”
```
<bean id="user" class="com.study.pojo.User" autowire="byName">
<property name="str" value="zhangsan"/>
</bean>
```
> ### [](https://gitee.com/vip204888/java-p7)**2.、byType**
**autowire byType ( Montage automatique par type )**
Oui.userDebean Modifier la configuration : autowire=“byType”
```
<bean id="user" class="com.kuang.pojo.User" autowire="byType">
<property name="str" value="qinjiang"/>
</bean>
```
[Obtenir des informations](https://jq.qq.com/?_wv=1027&k=ak26GrpX)
> ### [](https://gitee.com/vip204888/java-p7)**Trois、Utiliser des notes**
**1\. Inspring Introduction de contextEn - tête de fichier**
```
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
```
**2\. Activer le support d'annotation de propriété !**
```
<context:annotation-config/>
```
[![image](https://s2.51cto.com/images/20210819/1629388113136769.jpg)](https://jq.qq.com/?_wv=1027&k=ak26GrpX)
> #### [](https://gitee.com/vip204888/java-p7)**(Un.)@Autowired**
**@Autowired Est automatiquement adapté par type ,Non pris en chargeidÇa correspond.
Importation requise spring-aopLe sac de!**
**1\. Oui.UserDans la classeset Méthode d'enlèvement ,[email protected]**
```
public class User {
@Autowired
private Cat cat;
@Autowired
private Dog dog;
private String str;
# À la fin
En tant que programmeur à la recherche d'un emploi,Face à une situation qui pourrait être très différente de ces dernières années 2019 Année,Où vos possibilités d'emploi et vos perspectives d'emploi apparaîtront?Dans ce nouvel environnement,Le travail devrait choisir entre une grande usine ou une petite entreprise?Vétérans ayant plusieurs années d'expérience,Comment maintenir et améliorer sa compétitivité,Passer de passif à actif?
**Dans le contexte actuel,Le saut d'emploi est beaucoup plus difficile que les années précédentes.Un sentiment évident:L'interview de cette année,Un ou deux côtés,Tout a été testéJavaCompétences techniques des programmeurs.**
Récemment, j'a i organisé un examen des questions d'entrevue, des questions d'entrevue à haute fréquence et des points techniques en un seul“**JavaQuestions d'entrevue classiques(Y compris l'analyse des réponses).pdf**Et une collection en ligne“**JavaBase de questions pour les entrevues écrites avec les programmeurs.pdf**”(Il a fallu plus d'énergie que prévu),**Contient un schéma distribué、Très extensible、Haute performance、Forte concurrence、JvmRéglage des performances、Spring,MyBatis,NginxAnalyse des sources,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、NginxAttendre plus d'un point de connaissance Advanced Dry!**
**En raison de l'espace limité,Pour que tout le monde puisse regarder,Voici une capture d'écran de la table des matières et des réponses sous forme d'images![Les amis qui en ont besoin peuvent les obtenir ici gratuitement](https://gitee.com/vip204888/java-p7)**
![](https://s2.51cto.com/images/20210819/1629388114245638.jpg)
### JavaQuestions d'entrevue classiques(Y compris l'analyse des réponses)
![](https://s2.51cto.com/images/20210819/1629388116677136.jpg)
### Alibaba Technology written Examination experience
![](https://s2.51cto.com/images/20210819/1629388117236044.jpg)
##### 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
  • 227.
  • 228.
  • 229.
  • 230.
  • 231.
  • 232.
  • 233.
  • 234.
  • 235.
  • 236.
  • 237.
  • 238.
  • 239.
  • 240.
  • 241.
  • 242.
  • 243.
  • 244.
  • 245.
  • 246.
  • 247.
  • 248.
  • 249.
Copyright:Cet article est[Reste debout toute la nuit.]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2021/08/20210820000159519M.html