程序员之家

通俗的说一下Spring

2018-06-15  本文已影响35人  cb9841112785

               通俗的说一下Spring

        Spring它是一个开源的框架,我们通常认为Spring框架它是一个大管家,没错它就是一个大管家,所以说我们在开发当中Spring框架是不可缺少的,它是JavaEE/SE的一站式框架(轻量级的),那什么是轻量级呢?我们在开发中会把服务器端分为三层架构:web层、业务逻辑层、持久层。

我们来说一下这三层架构:web层也就是spring为我们提供了springMVC这一框架,(后续我们会详细介绍springMVC的);业务逻辑层也就是我们所说的service层,spring提供了Bean管理、IOC以及事务的管理;持久层:spring为我们提供了JDBC的模板(JdbcTemplate)他可以很好的与ORM框架进行整合,比如说:Hibernate,Mybatis,的持久层的框架;

我们来解说一下spring的有点:

①方便解耦,简化开发

spring就是一个大工厂,可以将所有的对象创建和依赖关系维护都交给spring进行管理

②支持AOP的开发

spring提供了面向切面编程,可以很方便的对程序进行拦截,运行监控的功能;

③声明式事务的支持

只需要配置就可以完成对事务的管理,而无序手动的编程

④方便对程序的测试

spring对Junit4支持,可以通过注解@Test测试spring的程序

⑤方便集成各种优秀的框架

spring不排斥各种优秀的框架,其中内部提供了对各种优秀框架的支持(Struts2、hibernate,Mybatis)的直接的支持

OK,以上就是我们所说的spring的优点

---------------------------------------------------------------------------------------------------------------------------------通常我们说到spring就会知道:spring的IOC和AOP还有DI

我们来说一下springIOC的底层的实现原理,IOC就是我们所说的(控制反转)那么什么是控制控制反转呢?简单的理解就是反射机制,在传统的方式开发的演变过程

起初我们采用的是UserService service = new UserService();面向对象的编程  -->我们会采用new一个对象的方式来对service层进行连接的。

其次我们采用的是UserService service = new UserServiceImpl();面向借口的编程 -->我们会采用new一个接口的方式来对service层进行连接的。我们在开发中都会采用OCP原则(open-close原则)既是对程序的扩展是open的,对修改程序代码是close的,尽量做到不修改程序的代码,实现对程序的扩展

然后我们采用了工厂设计模式-->用工程设计模式对spring的IOC进行了实现

-->//创建spring的工厂

ApplicationContext applicationContext = new ClassPathXMLApplicationContext(configLocation:"applicationContext.xml");

//获得工厂的类

UserService userService = (UserService) applicationContext.getBean("XXX")

XXX值得是Xml中配置的ID属性

目前大多数情况下都使用的是:工厂+反射+配置文件的方式进行IOC的实现

随着技术的发展spring提供了springboot让我们放弃了对配置文件的设置;减少了开发中对配置文件的设置

---------------------------------------------------------------------------------------------------------------------------

            spring的Bean管理(Xml)  Xml中的Bean

①采用无参构造:

            ②静态工厂实例化:

③实例工厂:

Bean标签中的配置

id和name ,一般情况下,装配一个bean时,通过指定的id属性作为bean的名称,id属性在IOC容器中必须是唯一的,如果bean的名称有特殊的符号,我们就需要使用name属性了

                class用于设置一个类的全路径的名称,主要作用是IOC容器生成类的实例。

上一篇下一篇

猜你喜欢

热点阅读