Back to Javatutorial

Spring概述

docs/Spring全家桶/Spring/Spring概述.md

1.0.05.0 KB
Original Source

Spring Java EE һĿԴܣɱΪSpring ֮ Rod Johnson 2002 ĿҪ Java ҵӦóĿѶȺڡ

Spring Եһֱ󿪷ԱΪ Java ҵӦó򿪷ѡʱգSpring ٲȻΪ Java EE ʣΪ˹ Java EE Ӧõʵ׼

Spring ĵ뷢չ

ڵ J2EEJava EE ƽ̨Ƴ EJB ΪĵĿʽֿʽʵʵĿдֱ׶ˣʹøӡӷסǿڳֲѶȴȡ

Rod Johnson 2004 ij顶Expert One-on-One J2EE Development without EJBУ EJB ӷ׵Ľṹһķͷ񶨣ֱԸӼķʽ滻

ⱾУRod Johnson ͨһ 3 дĸչʾڲʹ EJB ¹һչ Java ӦóУRod Johnson длṹ룬аõ Java ӿں࣬ ApplicationContextBeanFactory ȡЩĸΪ com.interface21Ϊṩ 21 ͵һο

ⱾӰԶ Rod Johnson com.interface21 Ĵ뿪Դ¿ܲΪSpringΪSpring һƴһɨƽͳ J2EE ĺ

2003 2 £Spring 0.9 汾 Apache 2.0 ԴЭ飻2004 4 £Spring 1.0 汾ʽĿǰΪֹSpring Ѿ뵽˵ 5 汾Ҳdz˵ Spring 5

Spring ͹

ڲͬᄈУSpring ĺDzͬġǾͷֱӡ塱͡塱Ƕȣ Spring нܡ

SpringSpring ջ

ϵ Spring ָ Spring Framework Ϊĵ Spring ջ

ʮķչSpring ѾһӦÿܣ𽥷չΪһɶͬĿģ飩ɵij켼 Spring FrameworkSpring MVCSpringBootSpring CloudSpring DataSpring Security ȣ Spring Framework ĿĻ

ЩĿ˴ҵӦÿƼȸݣܹԱչвϲĸʵ⣬Ա˸õĿ顣

Ŀ
Spring DataSpring ṩݷģ飬 JDBC ORM ṩ˺ܺõ֧֡ͨԱʹһͳһķʽλڲͬݿеݡ
Spring BatchһרҵϵͳеճܣܹԱĿ׳ЧӦó
Spring SecurityǰΪ Acegi Spring нϳģ֮һһԶƻ֤ͷʿƿܡ
Spring MobileǶ Spring MVC չƶ Web ӦõĿ
Spring BootSpring Ŷṩȫ¿ܣΪ Spring ԼһЩ伴õãԼ Spring ӦõĴ̡
Spring Cloudһ Spring Boot ʵֵ΢ܡijһżһϵ΢ܵ򼯺ϡϳġ֤΢ͨ Spring Boot ˼ٷװεиӵúʵԭΪԱṩһ׼׶ײάķֲʽϵͳ߰

SpringSpring Framework

Spring ָ Spring FrameworkͨǽΪ Spring ܡ

Spring һֲġ Java Ӧóһվʽ Spring ջĺĺͻΪ˽ҵӦÿĸԶġ

Spring IJ֣ IoC AOP

IOCInverse of Control ļдΪƷתָѴ̽ Spring й
AOPAspect Oriented Programming ļдΪ̡AOP װĹΪЩҵ޹أȴΪҵģͬõ߼װϵͳظ룬ģ϶ȡ⣬AOP һЩϵͳϵ⣬־Ȩ޵ȡ

Spring һֻ Bean ı̵̼ظı Java 硣Spring ʹü򵥡 Java Bean ǰֻ EJB ɵĹʹúܶิӵĴźͼ࣬ EJB ӷסЧĿģʽķĿĺάչ

ʵʿУӦóͨϵֱܹΪֲ㣨webҵ߼㣨service־ò㣨dao

Spring Java EE ӦøĽÿһ㶼ṩ˼֧֡

  • ڱֲṩ˶ Spring MVCStruts2 ȿܵϣ
  • ҵ߼ṩ˹ͼ¼־Ĺܣ
  • ڳ־ò㻹 MyBatisHibernate JdbcTemplate ȼݿзʡ

ֵ Spring һȫĽЩѾнϺýSpring ظ顣

ϿSpring ܸ Java ԱߵɶȣҵijҲṩõĽڿԴܵ˹㷺Ļӭұ󲿷ֹ˾Ϊ Java Ŀѡܡ

Spring Framework ص

Spring ܾ¼ص㡣

򻯿

Spring һ󹤳ԽжĴϵά Spring

㼯ɸ

Spring ųĿԴܣڲṩ˶Ըܣ Struts2HibernateMyBatis ȣֱ֧֡

** Java EE API ʹѶ**

Spring Java EE зdzõһЩ APIJDBCJavaMailԶ̵õȣṩ˷װʹЩ API ӦõѶȴ󽵵͡

IJ

Spring ֧ JUnit4ͨעⷽز Spring

AOP ̵֧

Spring ṩ̣ԷʵֶԳȨغмصȹܡ

ʽ֧

ֻҪͨþͿɶĹֶ̡

Spring ܻҵӦÿĸ棬 20 ͬģ顣

spring-aop spring-context-indexer spring-instrument spring-orm spring-web
spring-aspects spring-context-support spring-jcl spring-oxm spring-webflux
spring-beans spring-core spring-jdbc spring-r2dbc spring-webmvc
spring-context spring-expression spring-jms spring-test spring-websocket
spring-messaging spring-tx


ͼ1Springܹͼ

ͼа Spring ܵģ飬ЩģһҵӦÿڿпԸѡԵʹҪģ顣ֱЩģýм򵥽ܡ

1. Data Access/Integrationݷʣɣ

ݷʣɲ JDBCORMOXMJMS Transactions ģ飬¡

  • JDBC ģ飺ṩһ JBDC ģ壬ʹЩģͳ߳ JDBC 뻹бƣܵ Spring ĺô
  • ORM ģ飺ṩеġ-ϵӳ޷켯ɵ API JPAJDOHibernate MyBatis ȡһʹ Spring
  • OXM ģ飺ṩһ֧ Object /XML ӳijʵ֣ JAXBCastorXMLBeansJiBX XStream Java ӳ XML ݣ߽XML ӳ Java
  • JMS ģ飺ָ Java Ϣṩһ ϢߡϢߡģڸӼ򵥵ʹ JMSJMS Ӧó֮䣬ֲʽϵͳзϢ첽ͨš
  • Transactions ģ飺ֱ֧̺ʽ

2. Web ģ

Spring Web WebServletWebSocket Portlet ¡

  • Web ģ飺ṩ˻ Web ԣļϴܡʹõ Servlet IOC ʼԼ Web Ӧġ
  • Servlet ģ飺ṩһ Spring MVC Web ʵ֡Spring MVC ṩ˻עԴע롢򵥵ݰ󶨡֤ȼһ׷dzõ JSP ǩȫ޷ Spring Э
  • WebSocket ģ飺ṩ˼򵥵ĽӿڣûֻҪʵӦĽӿھͿԿٵĴ WebSocket ServerӶʵ˫ͨѶ
  • Portlet ģ飺ṩ Portlet ʹ MVC ʵ֣ Web-Servlet ģĹܡ

3. Core ContainerSpring ĺ

Spring ĺģ齨Ļ Beans ģ顢Core ģ顢Context ģ SpEL ʽģɣûЩҲ AOPWeb ϲĹܡ¡

  • Beans ģ飺ṩ˿ܵĻ֣Ʒתע롣
  • Core ģ飺װ Spring ܵĵײ㲿֣ԴʡתһЩùࡣ
  • Context ģ飺 Core Beans ģĻ֮ϣ Beans ģ鹦ܲԴ󶨡֤ʻJava EE ֧֡ڡ¼ȡApplicationContext ӿģĽ㡣
  • SpEL ģ飺ṩǿıʽַ֧֣֧ʺ޸ֵãַ֧ʼ޸顢֧߼㣬ִ֧ Spring ȡ BeanҲ֧бͶӰѡһбۺϵȡ

4. AOPAspectsInstrumentation Messaging

Core Container ֮ AOPAspects ģ飬£

  • AOP ģ飺ṩʵ֣ṩ־¼Ȩ޿ơͳƵͨùܺҵ߼ļ̬ܶİЩӵҪĴУ˾ְҵ߼ͨùܵϡ
  • Aspects ģ飺ṩ AspectJ ļɣһǿҳ̣AOPܡ
  • Instrumentation ģ飺ṩ๤ߵֺ֧ʵ֣ضӦ÷ʹá
  • messaging ģ飺Spring 4.0 ԺϢSpring-messagingģ飬ģṩ˶ϢϵṹЭ֧֡

5. Test ģ

Test ģ飺Spring ֧ Junit TestNG ԿܣһṩһЩ Spring IJԹܣڲ Web ʱģ Http Ĺܡ