Sqring核心概念

Spring  是大规模企业级框架,用户数量多,数据规模大,功能众多,业务复杂,

             性能和安全要求高   灵活多变

             Spring框架是轻量级的框架,javaEE的春天,当前主流的框架,一站式的企业应用开发框架

Spring 目标:是使现有的技术更加易用,推进代码的最佳实践

Spring 内容:IOC容器 控制反转。

                      Aop实现 面向切面编程

                      数据访问支持  1 简化jdbc/orm框架

                                             2 声明式事务

1. Spring容器的主要目的:降低业务逻辑层和其他层的耦合度(IOC)

2. Spring容器 用来创建和管理(管理对象和对象之间的关系)程序中的所有对象的实例

3. 非侵入式框架轻量级开源框架

侵入式余姚我们显示使用框架中的API才能实现某种功能。--框架强行的将功能推送给我们。

非侵入式不需要改变我们之间的编码。--我们资源从框架中获取想要的功能。

Spring的核心  ( IOC  ,AOP )

IOC(Inversin Of Control)  控制反转

在没有使用框架之前我们都是在Service 层创建dao的实例对象!控制权在service !

现在我们使用了Spring框架,创建dao的实例对象---使用Spring容器   控制权在 Spring容器!

这种控制权从程序的代码中转到Spring容器的行为就称为 IOC 控制反转   

studentDao dao=null;

public void setDao(StudentDao dao){

      this.dao=dao;

}

Spring 容器给我们创建了对象的实例,然后通过setxxx(); 把对象的实例给我们需要的地方,这个过程称为

DI依赖注入 (Dependency  Injection)

下面我们看一个Spring的小例子:

 

public class HelloSpring {private String who;//定义变量who 他的值通过Spring框架进行注入public HelloSpring() {}public  void print(){System.out.println("Hello"+this.getWho()+"okokokok!");
}public HelloSpring(String who) {this.who = who;}@Overridepublic String toString() {return "HelloSpring{" +"who='" + who + '\'' +'}';}public String getWho() {return who;}public void setWho(String who) {this.who = who;}
}

applicationContext.xml   Spring容器   <!--bean 对象声明Spring创建的对象实例--> 通过Spring框架进行注入

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="HelloSpring" class="cn.bean.HelloSpring">  <!-- 未声明的实例对象的类   类的位置和类名--><property name="who" value="Spring hhahhahah"></property>  <!-- name 被指定赋值的属性名set 后的 。value 赋值的内容 --></bean><!--bean 对象声明Spring创建的对象实例-->
public class SpringOneTest {@Testpublic void SpringHello(){ApplicationContext  context=new ClassPathXmlApplicationContext("ApplicationContext.xml");//Spring 提供的接口                  实现类                                                配置文件路径HelloSpring  helloSpring = (HelloSpring)context.getBean("HelloSpring");//id
        helloSpring.print();}
}

运行结果

 

转载于:https://www.cnblogs.com/cuixiaomeng/p/7676928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

台积电2纳米获得重大突破

来源&#xff1a;经济日报&#xff08;台&#xff09;台积电冲刺先进制程&#xff0c;在2纳米研发有重大突破&#xff0c;已成功找到路径&#xff0c;将切入GAA&#xff08;环绕闸极&#xff09;技术&#xff0c;为台积电发展鳍式场效电晶体&#xff08;FinFET&#xff09;取得…

php url乱码java接收,java中url乱码解决方法

java中url乱码解决方法&#xff1a;(推荐&#xff1a;java视频教程)1、将字符串转码&#xff1a;newString(“xxxxx”.getBytes(“iso-8859-1”),”utf-8”)这种转码方式有很大的弊端&#xff0c;因为它是使用指定的字符集将此String编码为 byte 序列&#xff0c;并将结果存储到…

腾讯首次发布 AI 白皮书讲了什么?

来源 | 腾讯研究院&#xff08;转载请注明来源&#xff09;编辑 | 蒲蒲近日&#xff0c;在世界人工智能大会腾讯论坛上&#xff0c;腾讯集团副总裁、腾讯研究院院长司晓正式发布了《腾讯人工智能白皮书&#xff1a;泛在智能》&#xff08;以下简称白皮书&#xff09;。作为腾讯…

php代码怎么修改成laravel,Laravel框架实现即点即改功能的方法分析

本文实例讲述了Laravel框架实现即点即改功能的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;有的时候我们不需要更改大量数据,只需要更改一个字段的时候,我们就用到了即点即改,以用户模块,修改用户名称为例,下图为我的展示模块当我们点击用户名时,会出现一个修改…

人工智能、网络空间对国家核安全的影响

来源&#xff1a;知远战略与防务研究所人工智能技术是一把双刃剑&#xff0c;其在网络空间和核领域的应用&#xff0c;一方面能够为网络安全和核安全提供技术保障&#xff1b;另一方面&#xff0c;人工智能技术也可能为对手所用&#xff0c;通过网络空间对核武器体系进行渗透进…

关注 | 5G 和 WiFi-6,谁是智能制造的主角?

来源&#xff1a;万物智能视界依据不同的情境和需求&#xff0c;结合不同技术的优点&#xff0c;让5G和WiFi-6在工业、物联网、自驾车等领域皆能蓬勃发展&#xff0c;协助产业更进一步朝向智慧化迈进。去年&#xff08;2019年&#xff09;12月&#xff0c;英国的航太设备&#…

吴恩达推荐笔记:22张图总结深度学习全部知识

来源&#xff5c;Sophia知乎&#xff0c;https://zhuanlan.zhihu.com/p/152362317本文仅用于学术分享&#xff0c;如有侵权&#xff0c;联系后台作删文处理编译&#xff1a;极市平台最近在做笔记查阅内容&#xff0c;觉得这个总结太美观了&#xff0c;真是棒&#xff01;吴恩达…

matlab编程实现二进制树搜索,数据结构: 二进制搜索树(用C语言实现)

有关二叉树的基本知识&#xff0c;请参阅我的博客之一: 二叉树的链式存储说明:二进制排序树是具有以下属性的空树或二进制树:1. 如果左子树不为空&#xff0c;则左子树上所有节点的值均小于其根节点的值;2. 如果右子树不为空&#xff0c;则右子树上所有节点的值都大于其根节点的…

植物的意识,是我们的错觉吗?

来源&#xff1a;原理说到生物&#xff0c;你脑海中第一反应会浮现出什么&#xff1f;大象、狮子、蚂蚁……很多时候&#xff0c;我们可能会不由自主地忽略另一群重要的“地球邻居”。虽然植物占地球生物量的80%以上&#xff0c;但长久以来&#xff0c;它们一直会被忽略和低估。…

php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程

yii和zend框架的区别是什么&#xff1f;_PHP开发框架教程Yii框架和zend框架的区别&#xff1a;zend的功能强大&#xff0c;但基本百分之八十的功能你用不到&#xff1b;学习速度功能&#xff0c;效率方面&#xff0c;YII会略胜。Q&#xff1a;我的项目启动时报错laravel $kerne…

纪念机器翻译概念的诞生:重新认识瓦伦·韦弗先生

来源&#xff1a;AI科技评论作者&#xff1a;张家俊编辑&#xff1a;丛 末机器翻译旨在利用计算机实现自然语言之间的自动翻译&#xff0c;一直是自然语言处理与人工智能领域的重要研究方向&#xff0c;近年来更是取得了突破性进展&#xff0c;已成为大众较为熟知和常用的技术…

php 怎样清除浏览器痕迹,如何清除电脑使用痕迹?上网痕迹清理的方法介绍

当我们上网的时候&#xff0c;会使用电子信箱&#xff0c;会登录很多论坛类网站&#xff0c;这样就会留下账号&#xff1b;可能会访问一些网站&#xff0c;这样会留下上网信息&#xff1b;可能会登录一些电子商务网站&#xff0c;那账号和密码则会默认保存在系统之中&#xff0…

兰德报告《现代战争中的全域联合指挥控制--一种确定和开发人工智能应用的分析框架》...

本文来源&#xff1a;兵推天下本报告作者研究了美国空军应用人工智能&#xff08;或更广泛的自动化系统&#xff09;进行有计划全域联合指挥控制规划的机会并给出了相关建议。作者发现&#xff0c;要为未来多域战提供支持&#xff0c;必须协调以下三个范畴的内容:1&#xff09;…

实现内、外网同时访问

不少公司的网管试图解决双网卡问题&#xff0c;下面我就给大家详细的讲解一下双网卡同时使用的方法&#xff0c;这样即可保障内网的安全&#xff0c;又能解决电脑访问外网的问题&#xff0c;一举两得。希望大家喜欢。 首先你的机器需要有两块网卡&#xff0c;分别接到两台交换机…

日本面向未来的特定科技领域技术预见分析

作者&#xff1a;王达&#xff0c;中国科协创新战略研究院本文转载自微信公众号科学家&#xff0c;原载于《今日科苑》2020年第5期目前&#xff0c;全球面临的环境、人口变化、资源、粮食和能源安全等问题亟待解决&#xff0c;先进的测量技术与信息处理技术的深度融合可以刺激更…

oauth2.0 php简化模式,OAuth2.0学习(1-5)授权方式2-简化模式(implicit grant type)

授权方式2-简化模式(implicit grant type)简化模式(implicit grant type)不通过第三方应用程序的服务器&#xff0c;直接在浏览器中向认证服务器申请令牌&#xff0c;跳过了"授权码"这个步骤&#xff0c;因此得名。所有步骤在浏览器中完成&#xff0c;令牌对访问者是…

人与人工的智能区别

来源&#xff1a;人机与认知实验室是非之心&#xff0c;智也! 为什么说这不仅仅是指伦理道德&#xff0c;其实&#xff0c;这涉及到人之智能、智慧的根本&#xff1a;非逻辑推理性的判断! 机器的判断是逻辑推理性的&#xff0c;对环境的适应性自然就弱了一些。作家菲茨杰拉德的…

AI大觉醒:图灵奖得主Bengio称AI将产生意识,未来机器学习核心是注意力机制

来源&#xff1a;人工智能AI技术人工智能会产生意识吗&#xff1f;这是一直以来美剧《西部世界》中探讨的问题。AI主人公觉醒&#xff0c;意识到这个世界是人类杀伐主宰的乐园&#xff0c;于是开启了逆袭之路。2020年ICLR上&#xff0c;图灵奖得主、蒙特利尔学习算法研究所主任…

人类应鼎力进行探索的35种颠覆性技术

本文转载自“战略前沿技术”&#xff0c;原标题《人类应鼎力进行探索的35种颠覆性技术》人类文明的进步&#xff0c;只要出现难以逾越的障碍&#xff0c;必然给人类的发展带来迷茫和灾难。而解决的路径只有一个&#xff1a;科技探索和创新。只有鼎力进行中的科技探索&#xff0…

【codevs2488】绿豆蛙的归宿

这个题开始正向拓扑排序&#xff0c;然后各种wa&#xff0c;心灰意冷&#xff0c;找了个题解&#xff0c;和同学研究了半天&#xff0c;甚至曾经一度认为题解是错的。 这个题正向反向应该都无所谓&#xff0c;但是我实在是蒻&#xff0c;打了半天正向都没打过去&#xff0c;最后…