10 jours pour obtenir l'octet Jump Java post offer, apprendre les étapes du développement Java

Programmeur haha oui 2021-09-15 09:10:10
jours pour obtenir octet jump


1. Spring Caractéristiques

Spring Les principales caractéristiques sont les suivantes::

  1. Léger:Spring Non intrusif , Dont les objets ne dépendent pas Spring Classe spécifique ;
  2. Contrôle de l'inversion(IoC):Adoption IoC, Faible couplage facilité ,D'autres objets dépendants d'un objet sont transmis passivement,Au lieu de créer ou de rechercher activement l'objet;
  3. Face tangente(AOP): Prise en charge de la programmation tangentielle ,Séparer la couche logique opérationnelle de l'application de la couche service système;
  4. Conteneur:Contient et gère la configuration et le cycle de vie des objets d'application,En ce moment Spring C'est l'équivalent d'un conteneur. ;
  5. Ensemble de cadres: Possibilité de configurer des composants simples , La combinaison devient une application plus complexe ;In Spring Moyenne,Les objets d'application sont combinés de façon déclarative en un XML Dans le document;En outre,Spring La gestion des transactions est également assurée 、 Fonctions de base telles que l'intégration des cadres de persistance,Laisser le développement de la logique d'application aux développeurs;

2. Spring Composants de base

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Arrière - plan

Spring Est une architecture à plusieurs niveaux , Il est principalement composé des éléments suivants: 7 Composé de grands modules .Spring Module situé dans le conteneur Central ,Création définie、Configuration et gestion Bean De la façon dont.

  1. Spring Core:Offre Spring Fonctions de base du cadre ,Les principaux composants sont: BeanFactory, Est la réalisation du modèle d'usine ,Adoption IOC Le mécanisme sépare les spécifications de configuration et de dépendance de l'application du Code d'application réel.
  2. Spring Context: Un profil ,Voilà. Spring Le cadre fournit des informations contextuelles, Le contexte comprend: JNDI、EJB、E - mail、Internationalisation、 Services d'entreprise tels que l'ordonnancement des sommes de contrôle .
  3. Spring AOP :Gérer les propriétés en configurant,Spring AOP Va directement AOP(Face tangente) Fonctionnalité intégrée à Spring Cadre.Pour que nous puissions l'utiliser très facilement Spring Cadre de gestion de tout soutien AOP Objet de.Le module est basé sur Spring Objet dans l'application pour fournir des services de gestion des transactions. En utilisant ce composant ,La gestion déclarative des transactions de Jiujiang peut être intégrée dans l'application sans dépendre d'autres composants.
  4. Spring DAO:JDBC DAO La couche d'abstraction fournit une hiérarchie significative des exceptions,Peut être utilisé pour gérer la gestion des exceptions et les messages d'erreur émis par différents fournisseurs de bases de données.La hiérarchie des exceptions simplifie la gestion des erreurs,Et réduit considérablement le nombre de codes d'exception à écrire.Spring DAO Orientation JDBC Les exceptions à la règle générale DAO Hiérarchie des exceptions.
  5. Spring ORM:Spring Plusieurs Inserts dans le cadre ORM Cadre,Ce qui donne ORM Outil de relation objet pour,Il s'agit notamment de JDO、Hibernate Et iBatis SQL Map, C'est tout. Spring Les transactions générales et DAO Hiérarchie des exceptions;
  6. Spring Web:Web Le module contextuel est construit sur le module contextuel de l'application,Basé sur Web La demande de,Alors... Spring Cadre de soutien avec Jakarta Structs Intégration.Le module simplifie également le traitement des requêtes en plusieurs parties et la liaison des paramètres de requête aux objets de domaine.
  7. Spring MVC:MVC Est une construction entièrement fonctionnelle Web Application MVC Réalisation, Les paires d'interfaces de politique sont disponibles MVC Mise en œuvre du cadre Hautement configurable .Et MVC Il est toujours là. JSP、Velocity、Tiles Technologie isographique .

3. Spring Notes fréquemment utilisées

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Arrière - plan_02

4. IoC Principes

4.1 Définition

Spring Décrit par un profil Bean Interdépendance ,Utilisation Java Pour instancier Bean Et de créer Bean Dépendances entre.Spring De IoC Sur la base de l'achèvement de ces travaux de fond,Également disponible Bean Cache d'instance、Gestion du cycle de vie、Bean Agent d'instance、Publication de l'événement、Services avancés tels que le chargement des ressources;

En résumé:IOC Responsable de la création d'objets、Gérer les objets(Par injection dépendante)、 Objet de consolidation 、Configurer les objets et gérer le cycle de vie des objets;

4.2 Spring Vue de haut niveau du conteneur

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Programmeur_03

  1. Spring Lire d'abord au démarrage Bean Informations de configuration,Et dans Spring Générer une copie correspondante dans le conteneur Bean Configurer le registre ;
  2. Basé sur le Bean Configurer le registre pour instancier Bean, Et l'assembler Bean Dépendances entre;
  3. Après l'Instanciation Bean Chargé à Spring Dans le conteneur Bean Dans le pool cache , Pour les applications de niveau supérieur ;

4.3 Spring Bean Portée et cycle de vie

4.3.1 Champ d'application

Spring Moyenne,Utilisé pour former le corps de la demande et composé de Spring IoC Les objets gérés par le conteneur sont appelés Bean.Bref,Bean Par IoC Conteneur pour initialiser 、 Objets assemblés et gérés .

Bean Les principaux domaines d'application sont les suivants::

  1. Singleton(Cas unique)

La portée est Singleton, Ce mode n'est pas sécurisé en Multithreading ,Ça veut dire IoC Il n'y aura qu'une seule part dans le conteneur Bean Exemple, Et tout ça Bean Demandes,Principal id Et ça Bean Les définitions correspondent,Alors il revient. Bean Même exemple de.Singleton Est un modèle à cas unique ,C'est - à - dire qu'un conteneur est automatiquement créé en même temps qu'il est créé à partir de Bean Objet de,Avec ou sans,Et Chaque fois que vous obtenez le même objet.

  1. Prototype(Prototypes): Utiliser chaque fois que vous créez

La portée est Prototype,Montrer un Bean Définir plusieurs instances correspondantes , Dans ce champ d'application Bean Peut conduire à À chaque fois Bean Créer un nouveau Bean Exemple.Prototype Est un prototype ,N'a pas été instantané lorsque nous avons créé le conteneur, Mais quand nous obtenons Bean Pour créer un objet ,Et chaque fois que vous obtenez un objet différent.

  1. Request:Une fois. request Un exemple

La portée est Request, Indique qu'une fois HTTP Demande en cours, Le conteneur retourne ceci Bean La même instance de ,C'est - à - dire chaque HTTP Les demandes ont leurs propres Bean Exemple, Selon un Bean Définition créée par, Uniquement sur la base Web De Spring ApplicationContext Valable dans les circonstances.Une fois HTTP À la fin du traitement de la demande , Dans ce champ d'application Bean Les instances sont détruites .

  1. Session

La portée est Session ,Ça veut dire Dans un HTTP Session Moyenne, Le conteneur retourne ceci Bean La même instance de , C'est différent. Session Demander crée une nouvelle instance ,Le Bean Instance actuelle seulement Session Efficacité interne, Uniquement sur la base Web De Spring ApplicationContext Valable dans les circonstances.Quand un HTTP Session Au moment de l'abandon , Dans ce champ d'application Bean Et ça ne marchera pas. .

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Java_04

4.3.2 Cycle de vie

  1. Spring C'est exact. Bean Pour instancier;
  2. Spring Valeur et Bean Référence injectée dans Bean Dans l'attribut correspondant ;
  3. Si Bean C'est fait. BeanNameAware Interface,Et Spring Oui. Bean De ID Passer à setBeanName() Méthodes;
  4. Si Bean C'est fait. BeanFactoryAware Interface,Spring Sera appelé setBeanFactory() Méthodes,Oui. Bean La référence de l'application est entrée ;
  5. Si Bean C'est fait. ApplicationContextAware Interface,Spring Sera appelé setApplicationContext() Méthodes,Oui. Bean Une référence à l'application dans laquelle vous êtes entré;
  6. Si Bean C'est fait. BeanPostProcessor Interface,Spring Sera appelé post-ProcessBeforeInitalization() Méthodes;
  7. Si Bean C'est fait. InitializingBean Interface,Spring Ils appelleront after-PropertiesSet() Méthodes,De même,,Si Bean Utiliser init-method Méthode d'initialisation déclarée, La méthode est également appelée ;
  8. Si Bean C'est fait. BeanPostProcessor Interface,Spring Ils appelleront post-ProcessAfterInitialization() Méthodes;
  9. En ce moment,Bean Prêt.,Nous pouvons être utilisés par les applications,Ils resteront dans le contexte de l'application, Jusqu'à ce que l'application soit détruite ;
  10. Si Bean C'est fait. DisposableBean Interface,Spring Sera appelé destory() Méthode d'interface;Encore une fois,Si Bean Utiliser destroy-method Méthode de destruction déclarée, Cette méthode sera également appelée ;

Enfin

XiaoBian a soigneusement préparé des documents de première main pour tout le monde

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Programmeur_05

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Java_06

Ci - dessusJavaDonnées architecturales avancées、Code source、Notes、Vidéo.Dubbo、Redis、Mode de conception、Netty、zookeeper、Spring cloud、Distribué、Haute concurrence et autres technologies d'architecture

 CodeChinaProjet Open Source:【Grandes usines de première ligneJavaAnalyse des questions d'entrevue+Résumé de base notes d'étude+Dernière vidéo d'explication】

【Annexe】Livres d'architecture

  1. BATInterview20Analyse du problème de la base de données à haute fréquence des canaux
  2. JavaUn dictionnaire d'interview
  3. NettySur le terrain
  4. Algorithmes

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Programmeur_07

BATJPoints clés de l'entrevue etJavaArchitecte Advanced Information

10J'ai des octets qui sautentJavaPositionoffer,ApprendreJavaÉtapes du développement_Programmeur_08

版权声明
本文为[Programmeur haha oui]所创,转载请带上原文链接,感谢
https://javamana.com/2021/09/20210915090502962B.html

  1. 快速从 Windows 切换到 Linux 环境
  2. 五分钟向MySql数据库插入一千万条数据
  3. Java日期时间API系列42-----一种高效的中文日期格式化和解析方法
  4. 用Java实现红黑树
  5. 使用Redis Stream来做消息队列和在Asp.Net Core中的实现
  6. 海量列式非关系数据库HBase 架构,shell与API
  7. Architecture, Shell et API de base de données non relationnelle à grande échelle
  8. Mise en œuvre de l'arbre Rouge et noir en Java
  9. Java Date Time API Series 42 - - a efficient Chinese Date Format and Analysis Method
  10. 5 minutes pour insérer 10 millions de données dans la base de données MySQL
  11. Passage rapide de Windows à l'environnement Linux
  12. Notes on Java backend development of PostgreSQL (I)
  13. 海量列式非關系數據庫HBase 架構,shell與API
  14. Byte Jump the latest open source, the most Classic hashtap Graph details,
  15. L'interview Java de Byte Hopping Society, l'analyse super populaire de l'utilisation et du code source de countdownlatch,
  16. "Anti Mafia storm" Wang Zhifei's love history is really wonderful: he divorced Zhang Xinyi and married a 14-year-old wife
  17. In spring in the jade mansion, Jia Fengyuan was not moved by his brother's death. Why was su Yingxue changed? The reason is realistic
  18. Adam Oracle Oracle fully constructs Adam token incentive for ecological development
  19. 实战SpringCloud通用请求字段拦截处理,超过500人面试阿里,
  20. 宅家36天咸鱼翻身入职腾讯,Zookeeper一致性级别分析,
  21. The first starcoin & move hacksong source code analysis - P (a)
  22. Zhaijia 36 days Salt Fish turn into Tencent, Zookeeper Consistency level analysis,
  23. Traitement de l'interception des champs de demande communs de Spring Cloud, plus de 500 personnes interviewent Ali,
  24. About JavaScript modules
  25. Object oriented programming (2)
  26. Java日期时间API系列42-----一种高效的中文日期格式化和解析方法
  27. Java日期時間API系列42-----一種高效的中文日期格式化和解析方法
  28. 宅家36天鹹魚翻身入職騰訊,Zookeeper一致性級別分析,
  29. Java Date Time API Series 42 - - a efficient Chinese Date Format and Analysis Method
  30. 已成功拿下字节、腾讯、脉脉offer,7年老Java一次操蛋的面试经历,
  31. 小米Java社招面试,每次面试必问的二叉树的设计与编码,
  32. 小米Java校招面试,阿里、百度、美团、携程、蚂蚁面经分享,
  33. 小米Java校招面試,阿裏、百度、美團、攜程、螞蟻面經分享,
  34. Xiaomi Java School Recruitment interview, Ali, baidu, meituan, ctrip, ant Facebook Sharing,
  35. La conception et le codage de l'arbre binaire requis pour chaque entrevue d'embauche de la société Java millet;
  36. A remporté avec succès Byte, Tencent, Pulse offer, 7 ans Java une expérience d'entrevue de baise,
  37. 干货来袭,Java岗面试12家大厂成功跳槽,
  38. 常用Java框架面试题目,现在做Java开发有前途吗?
  39. 常用Java框架面試題目,現在做Java開發有前途嗎?
  40. Les questions d'entrevue couramment utilisées pour le cadre Java sont - elles prometteuses pour le développement Java?
  41. L'arrivée de marchandises sèches, l'entretien d'emploi Java 12 grandes usines ont réussi à changer d'emploi,
  42. Multiple postures for handling container time in k8s environment
  43. Echarts remove left Gap, Blank
  44. Hotspot Weekly | zoom $100 million, docker fees, $38 billion Data bricks
  45. JsonMappingException: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory...
  46. Java. Security. Securerandom source code analysis Java. Security. EGD = file: / dev /. / urandom
  47. When using IntelliJ idea, jump directly and quickly from the mapper interface to mapper.xml
  48. When idea writes SQL in mybatis XML, the solution to the problems of table name, field and red reporting
  49. Spring cloud integrates Nacos
  50. 应届毕业生Java笔试题目,2021大厂Java社招最全面试题,
  51. Liver explosion! Take you to understand Hadoop serialization
  52. linux系列之:告诉他,他根本不懂kill
  53. java版gRPC实战之三:服务端流
  54. RabbitMQ核心知识总结!
  55. linux系列之:告诉他,他根本不懂kill
  56. java版gRPC实战之三:服务端流
  57. RabbitMQ核心知识总结!
  58. 10天拿到字节跳动Java岗位offer,学习Java开发的步骤
  59. 10天拿到字节跳动Java岗位offer,Java知识点思维导图
  60. Résumé des connaissances de base de rabbitmq!