Spring框架的简介

什么是sprig
(1)Spring是一个分层的(一站式) 轻量级开源框架
(2)Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象, Service组件对象等交给Spring容器来管理,这样使得很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。
Spring的优良特性

  1. 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
  2. 控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。
  3. 依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法 去设置,而是通过配置赋值。
  4. 面向切面编程:Aspect Oriented Programming——AOP
  5. 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
  6. 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
  7. 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC)
    Spring jar包下载:https://repo.spring.io/libs-release-local/org/springframework/spring/
    Spring的核心是?
    控制反转(IOC)和面向切面(AOP)
    一、控制反转(IOC)
    控制反转IOC(Inversion of Control)和依赖注入DI(Dependecy Injection)是同一个概念,具体的讲:当某个角色需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 ,因此也称为依赖注入。
    二、什么是AOP?
    面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个 方面
    1.面向切面编程提供声明式事务管理
    2.spring支持用户自定义的切面
    IOC的例子
    注意:必须先创建lib目录,导入jar包,并配置为项目的Library.

1.创建一个USer的类来,演示IOC和DI

package com.gx.model;public class User {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}
}

2.配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><bean id="user01" name="user" class="com.gx.model.User"><property name="name" value="五六七"/><property name="age" value="18"/></bean><bean id="useXmlConfigBean" class="com.gx.model.User"/><!--Java注解的配置方式 需要在XML中配置 base-package为配置扫描路径 --><context:component-scan base-package="com.gx.model"/>
</beans>

3.在Main类的main方法中编写测试代码

package com.gx;import com.gx.model.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {private static ApplicationContext context=null;public static void main(String[] args) {context=new ClassPathXmlApplicationContext("applicationContext.xml");User user= (User) context.getBean("user01");//idUser user1=(User) context.getBean("user");//nameSystem.out.println(user);System.out.println(user1);}
}

打印结果:

Spring框架的简介相关推荐

  1. Spring框架简介

    Spring框架简介 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本. ...

  2. Spring 框架基础(06):Mvc架构模式简介,执行流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集 ...

  3. Spring 框架简介及官方压缩包目录

    一.Spring 框架简介及官方压缩包目录 一.什么是spring spring是一个框架, 核心思想 IoC,AOP 简化企业开发,帮助分离对象之间的依赖关系 IoC:Inversion of Co ...

  4. Spring框架(容器)--简介(实现原理、核心模块、组成部分)

    spring框架(容器) spring简介 1.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益. 2.Spring是一个轻量 ...

  5. 【Spring框架一】——Spring框架简介

    系列文章目录 Spring框架简介 系列文章目录 前言 一.什么是Spring框架? 二.Spring框架的优势 1.简化开发流程:Spring提供了许多现成的功能,可以使得开发人员在构建应用程序时减 ...

  6. Spring框架核心之(一)Spring简介

                                                            Spring简介 一.什么是Spring Spring是一个轻量级开源框架,他是一个基于 ...

  7. Spring框架(一)—— Spring 简介

    文章目录 一.Spring 简介 1.Spring 概述 2.Spring Framework 下载 3.Spring 框架组成 一.Spring 简介 1.Spring 概述 (1)Spring 是 ...

  8. spring 框架简介与搭建

    Spring的一个最大的目的就是使J2EE开发更加容易.同时,Spring之所以与Struts.Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的.高效的方式构造整个应用,并且 ...

  9. Spring 系列: Spring 框架简介

    Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. 在这篇由三部 ...

最新文章

  1. 【FFmpeg】如何通过字符串到对应的封装器,以flv为例
  2. 机器学习笔记:高斯过程
  3. 全球及中国4-氨基-3-硝基苯酚行业前景趋势与投资规模格局报告2022版
  4. Python之IO模型
  5. 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结
  6. linux 内核模型,The Linux Kernel Device Model - Overview -- Linux 内核设备模型概述
  7. Java 持有对象简要笔记
  8. 实用防火与防爆技术培训—总目录
  9. 新鲜出炉的自主协同操作系统研讨会纪要
  10. 最好用的屏幕分辨率修改器:SwitchResX for Mac
  11. 屏幕真伪测试软件,如何检测电视屏幕真伪4K、坏点漏光?两款工具一键识别!...
  12. php实现pdf转图片
  13. 计算RPS指标 Python实现
  14. NaN是什么 NaN == NaN 的结果是什么?为什么?
  15. All-Pay Contests 论文定理推导(博弈论+机制设计)
  16. 【分治算法-02】算法经典问题
  17. 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)
  18. 【Java】多人协同在线编辑Excel源代码及部署包
  19. n平方的求和公式_1到N的平方和,立方和公式是怎么推导的?
  20. wireshark抓包分析(一)之物理层Frame

热门文章

  1. 说话技巧 为人处事
  2. DDDM: A Brain-Inspired Framework for Robust Classification
  3. 2d激光重定位系列(一)AMCL:算法源码参数 相关资源整合
  4. 5 款傻瓜式手机 APP 开发工具
  5. Unity的Socket网络编程
  6. Convolutional Neural Networks for Sentence Classification用于句子分类的卷积神经网络
  7. 每周荐书:架构、Scratch、增长黑客(评论送书)
  8. Bootstrap4 徽章(Badges)
  9. 微信支付宝网站二维码收款个人免签收款接口代搭建
  10. 如何使用码匠连接 DynamoDB