标签:弊端 apache let imp lang and 表达式语言 好的 href
对于Java开发者来说,Spring肯定是一个避不开的技术。所以准备系统的学下Spring框架。
我给自己设计的学习路线是这样的:首先阅读下Spring的官方文档(注意Spring官网上有很多项目,Spring的基础框架是Spring FrameWork这个项目),记录我认为重要的内容,方便后续回顾;到这边对Spring已经有了基本的认识,然后是找一到两本关于Spring源码的书,深入学习下Spring框架的原理性内容;最后是对于Spring的关键特性单独写博客记录,其实也就是对第二步的记录,你看了源码分析之后会对Spring的实现原理也有些了解。这些东西你不记录的话会很快遗忘。博客是一个很好的记录和分享自己所学的工具。所以后续我会对Spring的启动过程、自动注入、AOP和Spring MVC这些我之前看起来很高级的特性单独写博客记录。
本博客是学习路线的第一步,是对Spring官方文档的记录。主要是熟悉Spring框架有哪些功能,基本的使用方式是怎样的。由于Spring FrameWork的官方文档比较长,所以分模块来记录了,本博客是Spring FrameWork核心技术部分的记录,基于5.2.6版本.关于这个版本相对于之前版本的更新,请点击连接查看。
Spring是一个轻量级的Java Bean容器,这个容器为应用程序的开发提供了基础框架(基础功能)的支持,让开发人员能够关注业务逻辑的开发,大大了提升开发效率。Spring提供的基础功能非常广泛,包括核心的IOC、AOP、资源访问、国际化、数据绑定和SpEL表达式,还有对Web的支持(Spring MVC),各种数据库的支持(spring-data),以及对各种第三方框架集成的支持(spring-Integration)(jms、定时任务、邮件等)。
The Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application.
但是传统的Spring应用开发有个弊端,就是配置过于繁琐。为了简化Spring应用程序的开发,现在Spring团队推出了Spring Boot项目,支持自动配置,内嵌Web容器等核心功能,可以大大简化Spring应用的开发。SpringBoot因此也越来越流行。对于越来越流行的微服务,Spring也提供了Spring Cloud解决方案。
本博客覆盖了Spring最重要的功能IOC和AOP。首先介绍IOC功能,讲完IOC后会详细讲解AOP。Spring框架有它自己的AOP实现,基本已经能够解决企业开发中对AOP80%的需求。另外,Spring也提供了和AspectJ集成的功能。如果Spring的AOP实现不能满足你的需求,可以考虑使用AspectJ。
使用Spring必然会接触到这两个概念。
整个Spring框架被分成许多个小的模块,每个模块负责专门的功能。
Spring的整个IOC容器功能由spring-core, spring-beans, spring-context, springcontext-support,和spring-expression这几个模块提供。
为了防止版本号混乱,Spring提供了简便方式使用依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>5.1.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
//在父pom中加入上面依赖后,就可以像下面这样使用,不需要指定版本号
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependencies>
Spring中使用JCL进行日志输出。熟悉JCL的人知道JCL只是一个日志门面,我们可以自己选择日志实现框架。JCL默认的日志实现框架是log4j,使用起来很方便,只需要加入下面的依赖并且在classpath下面加入log4j.properties就可以了。
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
如果想使用Log4j 2.x作为日志的实现框架,加入下面依赖,并且在classpath下加入log4j2.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
如果我们不想使用JCL作为日志的门面,可以这样添加依赖,这样Spring框架中的日志就会路由到SLF4J这个日志门面中去了。
//使用slf4j作为日志的门面,使用logback作为日志的实现框架
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
</dependencies>
标签:弊端 apache let imp lang and 表达式语言 好的 href
原文地址:https://www.cnblogs.com/54chensongxia/p/13064637.html