Spring总结————spring核⼼Core
⼀、spring的概念
spring是⼀个开源的,轻量级控制反转和⾯向切⾯的容器框架,解决企业应⽤开发的复杂性,降低耦合,更易于测试。
spring春天。如果写⼀个⼩的项⽬,我们可以在项⽬中想创建⼀个对象就创建i个对象,但对于⼤型项⽬来说,可能需要依赖⼏百个类,类与类关系也⾮常复杂,我们就不能把创建对象和维护对象之间的关系放到项⽬中,可以采⽤⽣活中分⼯合作的⽅式,把对象的创建和维护关系给剥离出来,⼀个⼯⼚类的东西去⼲这些事,这样项⽬如果需要对象了,就从⼯⼚类中去取。
spring就是为了让我们以后能够做⼤的项⽬准备的。spring核⼼的功能就是⼀个⼯⼚模式,spring相当于为你的项⽬专门成⽴⼀个⼯⼚,这个⼯⼚负责创建对象,委会对象之间的关系,以前是直接new,现在从spring的⼯⼚⾥⾯获取。
⼆、spring的bean的常⽤属性
scope
scope⽤来配置bean对象是否是单例测试。单例模式是java的23种设计模式之⼀,指在这个项⽬运⾏过程中⼀个类的对象只会实例化⼀次。⼀般,⼯⼚类的对象都是单例模式。⾮单例模式叫多例模式或者原型模式。spring framework是什么框架的
spring⼯⼚中的对象默认都是单例模式,如果我们想把对象配置成多例模式,可以配置bean的scope属性,scope常⽤的两个取值:singleon默认值单例模式
prototype 原型模式多例模式
单例模式下,对象是在⼯⼚初始化的时候创建的。多例模式是在⼯⼚初始化之后,获取对象的时候创建的。
autowire
autowire⽤来配置spring对象属性的默认的装配⽅式。有三个取值
no:默认值不启⽤⾃动装配
byType:根据类型⾃动装配
byName:根据名称⾃动装配,⼀般bean的name如果不声明默认值取的就是id
三、spring的bean的属性注⼊的两种⽅式
设值注⼊
设值注⼊要求:
要求属性在实体类中必须有getter和setter⽅法,然后在spring的⼯⼚中就可以使⽤property标签进⾏设值注⼊。
构造注⼊
通过类的构造⽅法的⽅式注⼊
第⼀步,在要bean对应的class中创建有参的构造
第⼆步,在spring的⼯⼚中配置
注:设值注⼊的优缺点:使⽤起来⽐较直观,以后项⽬中⼤多数情况都采⽤设值注⼊。必须给属性是⽣成getter和setter
构造注⼊的优缺点:不⽤给属性⽣成getter和setter⽅法了,但是看起来不太直观。
四、spring的注解配置
使⽤bean的⽅式配置spring⽐较⿇烦,开发中经常使⽤注解的⽅式配置spring
1package com.ity;
2import org.springframework.beans.factory.annotation.Autowirimport org.springframework.stereotype.Component;
3import java.security.spec.DSAGenParameterSpec;
4/**
5* 组装E470笔记本
6*/
7 @Component
8public class E470 {
9//这⾥需要依赖接⼝
10//Autowired默认按类型⾃动装配
11 @Autowired
12private Display display;
13 @Autowired
14private Cpu cpu;
15/**
16* 笔记本⼯作的⽅法
17*/
18public void work(){
19//cpu进⾏计算
20 cpu.calc();
21//显⽰器显⽰
22 display.display();
23 }public Display getDisplay() {
24return display;
25 }
26public void setDisplay(Display display) {
27this.display = display;
28 }
29public Cpu getCpu() {
30return cpu;
31 }
32public void setCpu(Cpu cpu) {
33this.cpu = cpu;
34 }
35 }
@Component注解
同我们使⽤bean的⽅式创建对象,加了@Component注解的类会在spring的⼯⼚中创建该对象,该对象的id为@Component注解的类的名称,但是⾸字母是看第⼆个字母的,若第⼆个字母是⼩写,⾸字母⼩写,第⼆个字母⼤写,⾸字母就为⼤写。
@Autowird⾃动按类型装配
注:需要在配置⽂件中扫描配置@Component类所在的包
总结:
1、spring是⼀个容器类的框架两个作⽤:1、创建对象
2、维护对象之间的关系
2、spring的基本配置
3、常⽤的bean的属性 scope singleton prototype
4、bean注⼊的两种⽅式设值注⼊属性必须有getter和setter 构造注⼊必须要有有参构造
5、spring的注解配置
⾯试题:
1、你怎么理解spring的di和ioc
di依赖注⼊描述对象之间的依赖关系在spring⼯⼚中设值注⼊或者构造注⼊维护关系
ioc 控制反转 描述对象创建⽅式的改变 原来创建对象在程序中,⽤来spring之后在⼯⼚中创建独享
2、spring中@Autowired和@Resource的区别是什么
@Autowired按类型⾃动装配
@Resource先按类型⾃动装配再按属性名称⾃动装配
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论