spring框架简介(spring的核心技术有哪些)

2024-07-06 02:30:10 68

spring框架简介(spring的核心技术有哪些)

本文目录

spring的核心技术有哪些

一:控制反转

**1.**Spring 三个核心思想是什么:控制反转,依赖注入和面向切面编程。

**2.**Spring最核心,最基础的概念是什么?将spring类比java,java最核心,最基础的概念就是object了。java中,所有的操作都是针对object的(基础类型除外),java中,一切皆对象,一切都是object。类比下来,spring中最基础的概念是bean。在spring中,所以的类都可以认为是一个bean。(个人认为)在spring中的所有文件,都可以认为是注册了的bean和未注册的bean。 spring中所有操作都是针对bean的操作。自然,spring的三大核心思想中操作的对象,也是bean.

3.代码讲解IOC控制反转

(1)定义一个接口 public interface IPrint { /** * onLine: 对象需要实现这个方法来实现打印对象的功能 * void 返回类型 */ String printObject(); } 1 2 3 4 5 6 7 8

(2)实现接口 public class UserBean implements IPrint{ @Override public String printObject() { // TODO Auto-generated method stub System.out.println(“打印对象UserBean:“); return “abc“; } } public class MyBean implements IPrint{ @Override public String printObject() { // TODO Auto-generated method stub System.out.println(“打印对象MyBean:“); return null; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

(3)测试 IPrint print = new UserBean(); print.printObject(); 1 2 很正常的执行结果(“打印对象UserBean:”)。但是这时候我想修改一下,打印第二个实现类,这时候就需要修改代码了,修改代码毕竟是不符合开闭原则,又比较麻烦的事,这时候就需要用到spring的控制反转:对继承了接口IPrint的具体实现类的具体对象的创建,不依赖于调用他的客户端代码,而将控制权交给spring(其实就是xml文件),这就是控制反转。

4.控制反转实现 测试类: /读取配置文件(将配置文件中的bean加载进内存) ApplicationContext ctx = new ClassPathXmlApplicationContext(“/testSpring/resources/applicationContext.xml“); //获取的实例 IPrint bean=(IPrint)ctx.getBean(“userBean“); //调用方法 bean.printObject(); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 如果想要打印另一个实现类,只要修改配置文件:

1 总结:从spring的控制反转实现可以看出,客户端的实现不必去修改代码,从而达到了松耦合的目的。控制反转最后就是将主动权交给接口。

二:依赖注入 常用的注入方式有四种: 1. 属性注入 2. 构造方法注入 3. 工厂方法注入 4. 注解注入 (1)属性注入 package test; public class User { private String name; private String gender; public String getName() { return name; } public User(String name, Integer age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return “User “; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

spring.xml文件配置: 1 2 3 4 测试函数: public static void main(String args } 1 2 3 4 5 6 而如果我们把POJO中的getName方法去掉,结果不变,但setName方法删掉,我们再运行程序,会看到

2)构造函数注入: 在xml文件定义Bean: 调用测试函数: public static void main(String args){ ApplicationContext atc = new ClassPathXmlApplicationContext(“spring.xml“); User user = (User) atc.getBean(“user1“); System.out.println(user.getName() + “——“ + user.getAge()); //print cup——25 } 1 2 3 4 5 6 7 8

(3)工厂方法注入 i.非静态工厂方法 先定义工厂类: package test; public class UserFactory { public User createUser(){ User user = new User(“cup“,25); return user; } } 1 2 3 4 5 6 7 8 进行Bean配置: 1 2 调用测试函数: public static void main(String args){ ApplicationContext atc = new ClassPathXmlApplicationContext(“spring.xml“); User user = (User) atc.getBean(“user3“); System.out.println(user.getName() +“ ——“+ user.getAge() ); //print cup——25 } 1 2 3 4 5 6 (4)注解注入 i. 对类成员变量注解 使用@Autowire实现自动注入,格式如: @Component public class IdCard{ ..... } 1 2 3 4 public class User{ //Autowired默认按类型注入,@required 表明如果找不到对应的bean则为null,但如果设定为true(也是默认值),则要求一定要找到匹配的bean,否则会抛出异常。 //Qualifier常用于容器有一个以上相同类型的Bean,通过指定名字来指定唯一的Bean @Autowired(required = false ) @Qualifier(“idCard“) private IdCard idCard;//也可以将IdCard配置在xml文件中注入 ..... } 1 2 3 4 5 6 7 8 ii. 对类成员方法进行注解 @Autowired public void init(@Qualifier(“usar1“)User user1,@Qualifier(“user2“)User user2){ this.user1 = user1; this.user2 = user2; }

Java开发如果不让使用spring框架,会有多大影响

这个想法不错!如果没有spring,我们正常的一个项目应该怎么搭建和开发?

不允许使用Spring框架意味着搭建的项目不允许使用SpringBoot、SpringMVC、Spring这些Spring家族的框架,既然如此ORM框架我们也不要使用,在这样的限制条件下,项目应该如何搭建?日常CRUD应该如何开发?

心动不如行动,开始搭建,先创建一个简单的maven项目no_spring_example

这个项目我们需要它具备如下的几个能力:

1、能够提供

最后,给你们再看一眼曾经多么熟悉的web.xml:

spring框架简介(spring的核心技术有哪些)

本文编辑:admin
spring框架简介 ,prin ,spring

更多文章:


电驴搜索不了(电驴为什么搜索失败)

电驴搜索不了(电驴为什么搜索失败)

本文目录电驴为什么搜索失败电驴不能搜索了吗为什么电驴连接上了却搜索不到东西电驴为什么搜索失败  检查一下,eD2K和Kad网络是否能够正常连接。如果都正常就是版本太过陈旧,换个版本就可以。  eDonkey网络(英文:eDonkey Net

2023年6月2日 07:20

哪个网站能接受中国云短信?黔农云短信签约是什么意思

哪个网站能接受中国云短信?黔农云短信签约是什么意思

这篇文章给大家聊聊关于云短信,以及哪个网站能接受中国云短信对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录哪个网站能接受中国云短信黔农云短信签约是什么意思小米云短信恢复延迟显示多久短信平台是什么京东科技云短信是不是真的京东科技

2024年5月14日 21:05

中国移动宽带测速(浙江移动1000兆wifi测速是多少)

中国移动宽带测速(浙江移动1000兆wifi测速是多少)

本篇文章给大家谈谈中国移动宽带测速,以及浙江移动1000兆wifi测速是多少对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录浙江移动1000

2024年7月24日 15:12

vs2017安装教程(安装visual studio2017时老出问题)

vs2017安装教程(安装visual studio2017时老出问题)

大家好,如果您还对vs2017安装教程不太了解,没有关系,今天就由本站为大家分享vs2017安装教程的知识,包括安装visual studio2017时老出问题的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录安装v

2024年7月10日 02:23

春雨直播在线下载(春雨医生怎么看直播 春雨直播查看方法)

春雨直播在线下载(春雨医生怎么看直播 春雨直播查看方法)

大家好,关于春雨直播在线下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于春雨医生怎么看直播 春雨直播查看方法的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2024年7月17日 21:08

剪切快捷键ctrl加什么(剪切快捷键是什么 剪切快捷键Ctrl+X)

剪切快捷键ctrl加什么(剪切快捷键是什么 剪切快捷键Ctrl+X)

其实剪切快捷键ctrl加什么的问题并不复杂,但是又很多的朋友都不太了解剪切快捷键是什么 剪切快捷键Ctrl+X,因此呢,今天小编就来为大家分享剪切快捷键ctrl加什么的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目

2024年5月24日 07:10

部落冲突破解版(部落冲突破解版到底有没有,如果有是不是真的啊)

部落冲突破解版(部落冲突破解版到底有没有,如果有是不是真的啊)

大家好,如果您还对部落冲突破解版不太了解,没有关系,今天就由本站为大家分享部落冲突破解版的知识,包括部落冲突破解版到底有没有,如果有是不是真的啊的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录部落冲突破解版到底有没

2024年5月6日 20:18

怎样登陆手机定位官方网站怎样登陆精确手机定位网站怎样登陆手机定位精确网怎样实现精确手机定位?手机定位网

怎样登陆手机定位官方网站怎样登陆精确手机定位网站怎样登陆手机定位精确网怎样实现精确手机定位?手机定位网

本文目录怎样登陆手机定位官方网站怎样登陆精确手机定位网站怎样登陆手机定位精确网怎样实现精确手机定位手机定位网手机网络定位是怎么实现的手机定位网是真的吗手机定位那个网最好如何通过网络定位手机怎样登陆手机定位官方网站怎样登陆精确手机定位网站怎样

2024年6月21日 13:40

视频录制软件免费版哪个好(有什么免费的视频制作软件)

视频录制软件免费版哪个好(有什么免费的视频制作软件)

大家好,关于视频录制软件免费版哪个好很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于有什么免费的视频制作软件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2024年7月19日 02:10

免费字体转换器(语音转文字软件app免费)

免费字体转换器(语音转文字软件app免费)

大家好,今天小编来为大家解答以下的问题,关于免费字体转换器,语音转文字软件app免费这个很多人还不知道,现在让我们一起来看看吧!本文目录语音转文字软件app免费英语花体字转换器有哪些有什么软件可以把正楷字条换成行楷字体转换器书法字体在线转换

2024年10月8日 18:30

999999999钻石修改器(微信小程序游戏修改器哪个好)

999999999钻石修改器(微信小程序游戏修改器哪个好)

本篇文章给大家谈谈999999999钻石修改器,以及微信小程序游戏修改器哪个好对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录微信小程序游戏

2024年10月9日 15:33

dnf好感度查询器(dnf好感度系统)

dnf好感度查询器(dnf好感度系统)

本文目录dnf好感度系统DNF第九章好感度查询器dnf好感度系统1、20级是最低限制条件,20级以上所有NPC都能喂了2、所有NPC都能送,每个NPC需要的材料都不一样,每次喂5个(或5个以上)材料给NPC,最多每个NPC喂20次,信赖、好

2023年9月16日 16:00

教你拼音打字软件下载(学拼音打字练习软件)

教你拼音打字软件下载(学拼音打字练习软件)

大家好,关于教你拼音打字软件下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于学拼音打字练习软件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录学拼音

2024年5月21日 19:34

qq飞车皮肤修改器(qq飞车ve修改器怎么用)

qq飞车皮肤修改器(qq飞车ve修改器怎么用)

本篇文章给大家谈谈qq飞车皮肤修改器,以及qq飞车ve修改器怎么用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录qq飞车ve修改器怎么用qq飞车ve修改器怎么用ce修改器可以修改qq飞车吗qq飞车ce修改器怎么用qq飞车中的

2024年6月8日 18:35

陪孩子听有声书,可以起到阅读的效果吗?好听的有声小说推荐

陪孩子听有声书,可以起到阅读的效果吗?好听的有声小说推荐

这篇文章给大家聊聊关于有声听书,以及陪孩子听有声书,可以起到阅读的效果吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录陪孩子听有声书,可以起到阅读的效果吗好听的有声小说推荐为什么有声听书吧用流量能播,连WiFi不能播有什么免

2024年5月7日 09:21

新华字典app免费下载(推荐一下免费的,汉语词典手机应用)

新华字典app免费下载(推荐一下免费的,汉语词典手机应用)

各位老铁们,大家好,今天由我来为大家分享新华字典app免费下载,以及推荐一下免费的,汉语词典手机应用的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录

2024年6月8日 10:44

英雄联盟哪个英雄厉害(lol里最厉害的英雄)

英雄联盟哪个英雄厉害(lol里最厉害的英雄)

本文目录lol里最厉害的英雄《英雄联盟》前期、中期、后期,到了后期最强的英雄有哪些英雄联盟中,哪个中单的游走能力是最强的lol里最厉害的英雄你好很高兴为你解答。在英雄联盟里没有最厉害的英雄,都是相互克制,都是需要操作技巧和配合的。只要有技巧

2024年6月30日 23:39

下载作业帮免费下载(作业帮在哪里下载,怎么安装作业帮)

下载作业帮免费下载(作业帮在哪里下载,怎么安装作业帮)

大家好,如果您还对下载作业帮免费下载不太了解,没有关系,今天就由本站为大家分享下载作业帮免费下载的知识,包括作业帮在哪里下载,怎么安装作业帮的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录作业帮在哪里下载,怎么安装

2024年10月10日 22:55

超级浏览器下载安装(电脑怎么下载浏览器 电脑下载浏览器的方法)

超级浏览器下载安装(电脑怎么下载浏览器 电脑下载浏览器的方法)

“超级浏览器下载安装”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看超级浏览器下载安装(电脑怎么下载浏览器 电脑下载浏览器的方法)!本文目录电脑怎么下载浏览器 电脑下载浏览器的方法电脑上怎么下载“ie浏览器”电脑没有安全卫士

2024年8月24日 22:05

烧饼修改器官网(有哪些不用root就可以使用的修改器操作流程是什么)

烧饼修改器官网(有哪些不用root就可以使用的修改器操作流程是什么)

本文目录有哪些不用root就可以使用的修改器操作流程是什么烧饼修改器使用教程老是下载到盗版烧饼修改器求给一个正版官网!烧饼游戏修改器在哪里能够下到官方版为什么烧饼修改器打不开有哪些不用root就可以使用的修改器操作流程是什么谢谢邀请!我们先

2024年7月23日 19:30

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1735
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索