扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
轻量级的 DI / IOC 和 AOP 容器的开源框架
spring的优点:
1、管理创建和组装对象之间的依赖关系
使⽤前:⼿⼯创建
使⽤后:Spring创建,⾃动注⼊
2、⾯向切⾯编程(AOP):可以解耦核⼼业务和边缘业务的关系
场景:⽤户调⽤下单购买视频接⼝,需要判断登录,拦截器是AOP思想的⼀种实现
使⽤前:代码写逻辑,每次下单都调⽤⽅法判断,多个⽅法需要判断登录则都需要登录⽅法判断
使⽤后:根据⼀定的⽅法或者路径规则进⾏判断是否要调⽤,降低代码耦合度
3、包含java⼤型项⽬⾥⾯常⻅解决⽅案 web层、业务层、数据访问层等
4、极其便利的整合其他主流技术栈,⽐如redis、mq、mybatis、jpa
5、社区庞⼤和活跃,在微服务、⼤数据、云计算都有对应的组件
快速创建Spring项目1、Maven依赖
org.springframework spring-context5.2.5.RELEASE org.springframework spring-core5.2.5.RELEASE org.springframework spring-beans5.2.5.RELEASE
2、添加配置⽂件applicationContext.xml
3、创建javabean
package net.xdclass.sp.domain;
public class Video {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
4、获取bean
public class App {
public static void main(String [] args){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Video video = (Video)applicationContext.getBean("video");
System.out.println(video.getTitle());
}
}
ApplicationContext.xml配置文件bean标签中:
id属性:指定Bean的名称,在Bean被别的类依赖时使⽤
name属性:用于指定Bean的别名,如果没有id,也可以⽤name
class属性:用于指定Bean的来源,要创建的Bean的class类,需要全限定名
是⼀种设计思想将原本在程序中⼿动创建对象的流程,交由Spring框架来管理核心:把创建对象的控制权反转给Spring框架,对象的⽣命周期由Spring统⼀管理
把Spring IOC 当成⼀个容器,里面存储管理的对象称为Bean,类实例
将需要手动new类实例对象的部分交给容器来实现:
IOC容器在运⾏期间,动态地将对象某种依赖关系注⼊到对象之中,⽐如视频订单对象,依赖用视频对象
VideoOeder实体类中包含Video类对象:
public class VideoOrder {
private int id;
private String outTradeNo;
private Video video;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOutTradeNo() {
return outTradeNo;
}
public void setOutTradeNo(String outTradeNo) {
this.outTradeNo = outTradeNo;
}
public Video getVideo() {
return video;
}
public void setVideo(Video video) {
this.video = video;
}
@Override
public String toString() {
return "VideoOrder{" +
"id=" + id +
", outTradeNo='" + outTradeNo + '\'' +
", video=" + video +
'}'+'\n';
}
}
在applicationContext.xml配置文件添加bean并进行注入:
完成注入,运行查看结果:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
VideoOrder videoorder=(VideoOrder) applicationContext.getBean("videoorder");
System.out.println(videoorder.getOutTradeNo());
System.out.println(videoorder.getVideo().getTitle());
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流