Java Spring Part1
创始人
2025-06-01 13:20:59

基本概念 

model/entity:实体层

service:业务逻辑层

dao:数据访问层

 

 普通new对象方法,与IOC方法的区别

 

实现方法

方法一

1.下载jar包后,选中External Library,点击File——Project Structure——Library,然后选择需要使用的jar包

2.配置文件

进行控制反转和依赖注入 

方法二

查询maven仓库中,相应的依赖路径

 

 

方法二

1.创建maven工程

2.pop.xml文件中添加依赖,context自动包含相应的其他必要依赖 

 获得这些jar包

 

 resource处新建一个xml文件,添加约束:

 3.Spring Framework Documentation中,点入core页面,CTRL+F搜索关键字xmlns

复制第一段内容

 粘贴至xml文件中,指定bean对象

 4.然后在表现层实现bean对象的获取

ApplicationContext的实现方式 

 用FlieSystem类获取核心容器对象时传递的参数需要是bean.xml文件的绝对路径(文件可以放在任意位置)

Spring对Bean的管理细节

1.创建Bean的三种方式

        方法一

        方法二 

        方法三

如上,执行时默认构造方法可以实现对象的创建,但若在括号中传入参数,又不重写默认构造方法,则不能成功创建

2.Bean对象的作用范围

3.Bean对象的生命周期

spring中bean的依赖注入

依赖注入:Dependency InjectionIOC的作用:降低程序间的耦合依赖关系的管理:交给spring来维护在当前类中需要用到其他类的对象,由spring为我们提供,只需要在配置文件中说明依赖关系的维护成为依赖注入能注入发数据有三类:基本类型和string其他bean类型(在配置文件中或者注释配置国的bean)注入的方式有三种1.使用构造函数提供2.使用set放大提供3.使用注解提供

方法一

bean.xml


  

AccountServiceImpl类

package com.itheima.service.impl;
import com.itheima.service.IAccountService;
import java.util.Date;
/*** 账户的业务层实现类*/
public class AccountServiceImpl implements IAccountService {//如果是经常变化的数据,并不适用于注入的方法private String name;private Integer age;private Date birthday;public AccountServiceImpl(String name,Integer age,Date birthday){this.name = name;this.age = age;this.birthday = birthday;}public void  saveAccount(){System.out.println("service中的saveAccount方法执行了。。。"+name+","+age+","+birthday);}
}

client类

import com.itheima.service.IAccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*** 模拟一个表现层,用于调用业务层*/
public class Client {public static void main(String[] args) {//1.获取核心容器对象ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");//2.根据id获取Bean对象IAccountService as  = (IAccountService)ac.getBean("accountService");as.saveAccount();}
}

方法二

package com.itheima.service.impl;import com.itheima.service.IAccountService;import java.util.Date;/*** 账户的业务层实现类*/
public class AccountServiceImpl2 implements IAccountService {//如果是经常变化的数据,并不适用于注入的方法private String name;private Integer age;private Date birthday;public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}public void setBirthday(Date birthday) {this.birthday = birthday;}public void  saveAccount(){System.out.println("service中的saveAccount方法执行了。。。"+name+","+age+","+birthday);}
}
package com.itheima.ui;import com.itheima.service.IAccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*** 模拟一个表现层,用于调用业务层*/
public class Client {/**** @param args*/public static void main(String[] args) {//1.获取核心容器对象ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");//2.根据id获取Bean对象IAccountService as2  = (IAccountService)ac.getBean("accountService2");as2.saveAccount();}
}

 复杂类型的注入

 

AAABBBCCCAAABBBCCCAAABBBCCCcccdddBBB
package com.itheima.service.impl;import com.itheima.service.IAccountService;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;public class AccountServiceImpl3 implements IAccountService {private String[] myStrs;private List myList;private Set mySet;private Map myMap;private Properties myProps;public AccountServiceImpl3() {}public void setMyStrs(String[] myStrs) {this.myStrs = myStrs;}public void setMyList(List myList) {this.myList = myList;}public void setMySet(Set mySet) {this.mySet = mySet;}public void setMyMap(Map myMap) {this.myMap = myMap;}public void setMyProps(Properties myProps) {this.myProps = myProps;}public void saveAccount() {System.out.println(Arrays.toString(this.myStrs));System.out.println(this.myList);System.out.println(this.mySet);System.out.println(this.myMap);System.out.println(this.myProps);}
}

 

 

相关内容

热门资讯

漂移是什么意思(摇杆漂移是什么... 本篇文章极速百科给大家谈谈漂移是什么意思,以及摇杆漂移是什么意思对应的知识点,希望对各位有所帮助,不...
车架号后四位是什么(车架号后四... 本篇文章极速百科给大家谈谈车架号后四位是什么,以及车架号后四位是什么在哪里看对应的知识点,希望对各位...
隐形眼镜基弧是什么意思,请问,... 隐形眼镜基弧是什么意思目录隐形眼镜基弧是什么意思请问,配隐形眼镜的时候要不要关注那个基弧?隐形眼镜基...
广西省崇左市属于什么市,祟左是... 广西省崇左市属于什么市目录广西省崇左市属于什么市祟左是地级市还是县级市崇左是南宁得直辖市吗 为什么区...
内衣尺码大小分类,内衣的型号分... 内衣尺码大小分类目录内衣尺码大小分类内衣的型号分哪几种?什么abc事什么意思?34、36是尺寸嘛?内...
几个防止卫生间反味小妙招,卫生... 几个防止卫生间反味小妙招目录几个防止卫生间反味小妙招卫生间反臭怎么办?卫生间怎么样防臭几个防止卫生间...
庄子中的成语和解释,四个出自《... 庄子中的成语和解释目录庄子中的成语和解释四个出自《庄子》的成语及解释《庄子》中的成语及解释(按篇目分...
怎么切翡翠原石(收玉石的联系方... 本篇文章极速百科给大家谈谈怎么切翡翠原石,以及收玉石的联系方式对应的知识点,希望对各位有所帮助,不要...
关于燕子的古诗,描写燕子的古诗... 关于燕子的古诗目录关于燕子的古诗描写燕子的古诗描写燕子的古诗有哪些?关于燕子的古诗关于燕子的古诗 ...
好巧不巧是什么意思,好巧不巧什... 好巧不巧是什么意思目录好巧不巧是什么意思好巧不巧什么意思?“无巧不巧”究竟何解?好巧不巧是什么意思好...
关东煮里面放什么配料啊,关东煮... 关东煮里面放什么配料啊目录关东煮里面放什么配料啊关东煮的配料关东煮需要哪些调味料呀?请问,关东煮都可...
极速进化满电出发!长安深蓝SL... 本篇文章极速百科给大家谈谈极速进化满电出发!长安深蓝SL03开启预售,以及长安蓝鲸plus新车报价对...
比亚迪f3汽车报价(比亚迪f3... 今天给各位分享比亚迪f3汽车报价的知识,其中也会对比亚迪f3价格及图片易车进行解释,如果能碰巧解决你...
两台电脑怎么共享一台打印机,两... 两台电脑怎么共享一台打印机目录两台电脑怎么共享一台打印机两台电脑如何共享一台打印机?请问一个打印机怎...
16个复韵母有哪些(16个复韵... 本篇文章极速百科给大家谈谈16个复韵母有哪些,以及16个复韵母怎么读拼音视频对应的知识点,希望对各位...
樟树有什么作用,樟树有什么作用... 樟树有什么作用目录樟树有什么作用樟树有什么作用?樟树的用途有哪些?樟树有什么作用?樟树有什么作用 ...
dazl启动子的作用,启动子和... dazl启动子的作用目录dazl启动子的作用启动子和终止子是什么作用的?dazl启动子的作用启动子的...
写字楼是干什么的 极速百科网 ... 写字楼是干什么的目录写字楼是干什么的写字楼是干什么的写字楼是干什么的 写字楼的功能介绍写字楼是干什么...
骄傲的两种解释,骄傲的意思是什... 骄傲的两种解释目录骄傲的两种解释骄傲的意思是什么?骄傲的两种解释骄傲的两种解释 “骄傲”有两个...
jp是哪个国家的缩写(jp是哪... 本篇文章极速百科给大家谈谈jp是哪个国家的缩写,以及jp是哪个国家的缩写名字对应的知识点,希望对各位...
苹果手机显示不支持此配件怎么办... 不支持此配件怎么解决 苹果iphone可能不支持此配件怎么办怎么解除不支持此配件 不支持此配件怎么解...
支付宝借呗的利息是多少,蚂蚁借... 支付宝借呗的利息是多少目录支付宝借呗的利息是多少蚂蚁借呗利息是怎么计算的蚂蚁借呗的利息是多少借呗的利...
关于兰字的词语或成语越多越好.... 关于兰字的词语或成语越多越好.目录关于兰字的词语或成语越多越好.有关兰字的成语有哪些关于兰的词语或成...
宝马m5多少钱是不是很贵呢?(... 本篇文章极速百科给大家谈谈宝马m5多少钱是不是很贵呢?,以及宝马m5li多少钱对应的知识点,希望对各...
辽宁省喀左县在哪个城市,辽宁省... 辽宁省喀左县在哪个城市目录辽宁省喀左县在哪个城市辽宁省朝阳市喀左县的邮政编码辽宁省喀左县在哪里辽宁省...
关于marcjacobs香水,... 关于marcjacobs香水目录关于marcjacobs香水marcjacobs香水(探索时尚与艺术...
四级英语考试时间分配,大学英语... 四级英语考试时间分配目录四级英语考试时间分配大学英语四级考多长时间?英语四级考试时间安排?英语四级考...
dnfbuff强化有什么用,地... dnfbuff强化有什么用目录dnfbuff强化有什么用地下城buff强化栏DNF中人物的Buff有...
幼儿园孩子新年祝福语简短,适合... 幼儿园孩子新年祝福语简短目录幼儿园孩子新年祝福语简短适合幼儿园小朋友说的新年祝福语幼儿园老师给小朋友...
正断层有哪些断层组合类型,断层... 正断层有哪些断层组合类型目录正断层有哪些断层组合类型断层的组合类型简答题 断层的类型及组合形式有哪些...