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;。作为腾讯…

String, StringBuffer, StringBuilder之间的区别

String与StringBuffer/StringBuilder之间的主要区别 1.String对象不可变, 如果修改会重新创建一个对象, 然后把值保存进去. StringBuffer/StringBuilder对象是可变的. 2.String性能远远低于StringBuffer/StringBuilder 3.StringBuilder速度稍快于StringBuffer, 但与此带来的缺陷…

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

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

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

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

CF876 F 思维 枚举

给你n个数&#xff0c;问有几个区间满足&#xff0c;区间内或操作大于区间内的任意数。 首先可以知道&#xff0c;两数或操作的结果必定不会小于两者间的最大值&#xff0c;也就是说对于一个区间中&#xff0c;不合法的状态只有两值或相等。那么我们可以考虑枚举每个数&#xf…

java 设置头错误信息,错误:在node.js中发送标头后无法设置标头

我在node.js中写了这个简单的登录代码&#xff1a;var express require ("express");var badyparser require ("body-parser");var app express();app.use(express.static(__dirname "/static"));app.use(badyparser());var users {tom : &…

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

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

[LeetCode] Minimum Depth of Binary Tree

Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 二叉树的最小深度。 使用递归求解&#xff1a; 如果根节点为空&#xff0c;返回0。 如果左节点为空&…

java中table属性,Table边框使用方法及属性大全

一、表格的常用属性基本属性有&#xff1a;width(宽度)、height(高度)、border(边框值)、cellspacing(表格的内宽&#xff0c;即表格与tr之间的间隔)、 cellpadding(表格内元素的间隔&#xff0c;即tr与tr之间的间隔)、bordercolorlight(表格的亮边框颜色)、 bordercolordark(表…

吴恩达推荐笔记: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…

CodeForces 869E The Untended Antiquity 二维树状数组,随机hash

CodeForces 869E 题意&#xff1a; n*m 的格子&#xff0c;有三种操作&#xff0c; 1、在一个矩形周围加一层障碍。2、把一个矩形周围的障碍去掉。 3、询问两个格子是否可达。 题目保证不会有矩形障碍交叉&#xff0c;且去掉的矩形一定是在前面已给出的。 tags&#xff1a…

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

来源&#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;分别接到两台交换机…