本文已参与周末学习计划,点击链接查看详情:juejin.cn/post/696572…
台上十分钟,台下十年功,厚积薄发。
前言
学习Java开发,逃不过的就是对Spring框架的学习。那么本篇文章就来对Spring框架做一个学习归纳总结,如有不完善或者不恰当的地方,还请各位大佬指点纠正。
简介
Spring框架是由Rod Johnson开发的,在2004年发布了Spring框架的第一个版本。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。
优点
1、采用低侵入式设计理念,使得代码的污染降到很低; 2、采取独立于各种应用服务器,基于Spring框架的应用,可以真正的实现Write Once,Run Anywhere的承诺; 3、Spring框架里面的IoC容器降低业务对象替换的复杂性,提高了组件之间的解耦; 4、Spring框架的AOP支持允许将一些通用的任务进行集中式管理,进而提高更好的复用; 5、Spring框架有高度的开放性,不强制应用完全依赖该框架,使得开发者可以自由选择Spring框架的部分或者全部。
核心机制
1、管理Bean
程序主要是通过Spring容器来访问容器中的Bean,而且ApplicationContext是Spring容器最常用的接口,ApplicationContext接口有两个实现类:FileSystemXmlApplicationContext和ClassPathXmlApplicationContext。
- FileSystemXmlApplicationContext:从文件系统的相对路径或绝对路径下去搜索配置文件,并根据配置文件来创建Spring容器。
- ClassPathXmlApplicationContext: 从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器。 示例:
public class BeanDemo{
public static void main(String args[]) throws Exception{
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
Children c = ctx.getBean("Children", Children.class);
c.say();
}
}
2、Eclipse使用Spring
在Eclipse等IDE的工具中,用户可以自建User Library,然后把Spring的Jar包都放入其中,当然也可将Jar包直接放在项目的/WEB-INF/lib目录下,但如果使用User Library,在项目发布时需要将用户库所引用的Jar文件随应用一起发布,就是将User Library所使用的Jar复制到/WEB-INF/lib目录下,这因为对于一个Web应用,Eclipse部署Web应用时不会将用户库的Jar文件复制到/WEB-INF/lib下,需要开发者进行手动复制。
3、依赖注入
Spring框架有两个核心功能: ①Spring容器管理容器中Bean之间的依赖关系,Spring框架使用一种“依赖注入”的方式来管理Bean之间的依赖关系。 ②Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象都被成为Bean。
4、创建Bean的方式
创建Bean有三种方式:通过构造器创建Bean实例、使用静态工厂方法创建Bean、通过调用实例工厂方法创建Bean。
总结
以上就是本文的全部内容,本文的内容只对Spring框架的一些基础知识做了简单的总结归纳,但是Spring框架还有很多内容,只是由于篇幅原因没有全面的一一总结罗列出来,还请看官多多包涵,作为Java学习的萌新学员,还请各路大佬多多指导,互相交流!