spring入门(1)---开始spring之旅

Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发 .

IOC 控制反转

public class PersonServiceBean {
     private PersonDao personDao = new PersonDaoBean();

      public void save(Person person){
            personDao.save(person);
     }
}

PersonDaoBean 是在应用内部创建及维护的。所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对 象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。

依赖注入 (Dependency Injection)

当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean 类可以改成如下:

public class PersonServiceBean {
     private PersonDao personDao ;
    //通过构造器参数,让容器把创建好的依赖对象注入进PersonServiceBean,当然也可以使用setter方法进行注入。
     public PersonServiceBean(PersonDao personDao){
         this.personDao=personDao;
     }
      public void save(Person person){
            personDao.save(person);
     }
}

所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。

为何要使用Spring

至 少在我看来,在项目中引入spring立即可以带来下面的好处

降低组件之间的耦合度,实现软件各层之间的解耦。

可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工 控制事务.也不需处理复杂的事务传播。

容器提供单例模式支持,开发人员不再需要自己编写实现代码。

容器提供了 AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。

容器提供的众多辅作类,使用这些类能够加快应用的开发 ,如: JdbcTemplate、 HibernateTemplate。

Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、 Struts等,这样更便于应用的开发。

如果使用Spring, 我们就不再需要手工控制事务

另外,如果使用spring, 我 们也不需要处理复杂的事务传播行为

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发
, 应用
, spring jdbctemplate
, 事务
, 容器
, spring容器
, public
控制
spring boot 入门、spring cloud 入门、spring 入门、spring框架入门、spring从入门到精通,以便于您获取更多的相关知识。

时间: 2024-11-02 15:03:45

spring入门(1)---开始spring之旅的相关文章

spring入门(2)---第一个spring案例

直接上图: 源码: HelloDao.java package www.csdn.spring.dao; public interface HelloDao { public void sayHello(); } HelloDAoImpl.java package www.csdn.spring.dao; public class HelloDaoImpl implements HelloDao{ public HelloDaoImpl() { System.out.println("Hello

《Spring 5 官方文档》1. Spring入门指南(一)

译者注:为了方便理解,本译文里面部分名词翻译如下,如有异议,请在评论区指出. Dependency Injection - 依赖注入 Inversion of Control – 控制反转 Instrumentation – 植入 AOP - 面向切面​​的编程 Milestones – 里程碑 Snapshots – 快照 Artifact - 工件(这个词在文中大部分地方都没有翻译,用过Maven或Gradle的都明白,如果有更好的中文翻译,请写在评论区) 1.Spring入门指南 本参考指

spring入门(14)ssh中事务处理spring配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/t

spring入门(8) 装配Bean之自动装配

Spring_Autowiring collaborators 在Spring3.2.2中自动装配类型,分别为:no(default)(不采用自动装配). byName,byType,constructor下面来分别介绍一下这些是如何自动装配的 <bean id="foo" class="...Foo" autowire="autowire type"> Mode            Explanation no: (Default

最简单的Spring入门示例

应一位朋友的要求,写一个最简单的spring示例,使用spring的MVC,并应用了spring的依赖注入,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有涉及高级特性,比如与ORM框架的整合,事务管理,远程调用,代理等这些功能) spring至关重要的一环就是装配,即配置文件的编写,接下来我按刚才实际过程中一步步简单讲解. 首先,要在web.xml中配置DispatcherServlet,它是作为Spring M

《Spring 3.0就这么简单》——第1章 快速入门 1.1 Spring概述

第1章 快速入门 本章通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速进入Spring Web应用的世界.实例应用按持久层.业务层和展现层进行组织,从底层DAO程序到Web展现程序逐层演进,一步步地搭建起一个完整的实例.通过本章的学习,读者可以独立完成一个典型的基于Spring的Web应用. 本章主要内容: Spring 概述 用户登录实例介绍 基于 Spring JDBC 的持久层实现 基于 Spring 声明式事务的业务层实现 基于 Spring MV

【SSH系列】初识spring+入门demo

       学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍SSH中的spring,Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.今天这篇博文,小编将从what.why

spring入门编程问题集锦

1.如何学习Spring? 你可以通过下列途径学习spring: (1) spring下载包中doc目录下的MVC-step-by-step和sample目录下的例子都是比较好的spring开发的例子. (2) AppFuse集成了目前最流行的几个开源轻量级框架或者工具Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,StrutsTestCase,Canoo's WebTest,Struts Menu,Display Tag Library,OS

【spring boot】9.spring boot+spring-data-jpa的入门使用,实现数据持久化

 spring-data-jpa官方使用说明文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/  spring-data-jpa的使用说明:https://www.cnblogs.com/WangJinYang/p/4257383.html spring-data-jpa API地址:https://docs.spring.io/spring-data/data-jpa/docs/current/api/