Spring框架的简介
Spring框架的简介
什么是sprig
(1)Spring是一个分层的(一站式) 轻量级开源框架
(2)Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象, Service组件对象等交给Spring容器来管理,这样使得很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。
Spring的优良特性
- 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
- 控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。
- 依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法 去设置,而是通过配置赋值。
- 面向切面编程:Aspect Oriented Programming——AOP
- 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
- 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
- 一站式:在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框架的简介相关推荐
- Spring框架简介
Spring框架简介 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本. ...
- Spring 框架基础(06):Mvc架构模式简介,执行流程详解
本文源码:GitHub·点这里 || GitEE·点这里 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集 ...
- Spring 框架简介及官方压缩包目录
一.Spring 框架简介及官方压缩包目录 一.什么是spring spring是一个框架, 核心思想 IoC,AOP 简化企业开发,帮助分离对象之间的依赖关系 IoC:Inversion of Co ...
- Spring框架(容器)--简介(实现原理、核心模块、组成部分)
spring框架(容器) spring简介 1.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益. 2.Spring是一个轻量 ...
- 【Spring框架一】——Spring框架简介
系列文章目录 Spring框架简介 系列文章目录 前言 一.什么是Spring框架? 二.Spring框架的优势 1.简化开发流程:Spring提供了许多现成的功能,可以使得开发人员在构建应用程序时减 ...
- Spring框架核心之(一)Spring简介
Spring简介 一.什么是Spring Spring是一个轻量级开源框架,他是一个基于 ...
- Spring框架(一)—— Spring 简介
文章目录 一.Spring 简介 1.Spring 概述 2.Spring Framework 下载 3.Spring 框架组成 一.Spring 简介 1.Spring 概述 (1)Spring 是 ...
- spring 框架简介与搭建
Spring的一个最大的目的就是使J2EE开发更加容易.同时,Spring之所以与Struts.Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的.高效的方式构造整个应用,并且 ...
- Spring 系列: Spring 框架简介
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. 在这篇由三部 ...
最新文章
- 【FFmpeg】如何通过字符串到对应的封装器,以flv为例
- 机器学习笔记:高斯过程
- 全球及中国4-氨基-3-硝基苯酚行业前景趋势与投资规模格局报告2022版
- Python之IO模型
- 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结
- linux 内核模型,The Linux Kernel Device Model - Overview -- Linux 内核设备模型概述
- Java 持有对象简要笔记
- 实用防火与防爆技术培训—总目录
- 新鲜出炉的自主协同操作系统研讨会纪要
- 最好用的屏幕分辨率修改器:SwitchResX for Mac
- 屏幕真伪测试软件,如何检测电视屏幕真伪4K、坏点漏光?两款工具一键识别!...
- php实现pdf转图片
- 计算RPS指标 Python实现
- NaN是什么 NaN == NaN 的结果是什么?为什么?
- All-Pay Contests 论文定理推导(博弈论+机制设计)
- 【分治算法-02】算法经典问题
- 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)
- 【Java】多人协同在线编辑Excel源代码及部署包
- n平方的求和公式_1到N的平方和,立方和公式是怎么推导的?
- wireshark抓包分析(一)之物理层Frame
热门文章
- 说话技巧 为人处事
- DDDM: A Brain-Inspired Framework for Robust Classification
- 2d激光重定位系列(一)AMCL:算法源码参数 相关资源整合
- 5 款傻瓜式手机 APP 开发工具
- Unity的Socket网络编程
- Convolutional Neural Networks for Sentence Classification用于句子分类的卷积神经网络
- 每周荐书:架构、Scratch、增长黑客(评论送书)
- Bootstrap4 徽章(Badges)
- 微信支付宝网站二维码收款个人免签收款接口代搭建
- 如何使用码匠连接 DynamoDB