官网 : Spring | Home
官方下载地址 : JFrog
GitHub : Spring · GitHub
优点
1、Spring是一个开源免费的框架 , 容器 .
2、Spring是一个轻量级的框架 , 非侵入式的 .
3、控制反转 IoC , 面向切面 Aop
4、对事物的支持 , 对框架的支持
一句话概括:
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。
IOC本质
控制反转IOC,是一种设计思想,DI(依赖注入)是实现IOC的一种方法,
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入
IOC是一种编程思想,由主动的编程变成被动的接收
IOC创建对象方式通过无参构造方法来创建
通过有参构造方法来创建
Spring配置
Bean的配置
import
团队的合作通过import来实现 .依赖注入(DI)
概念
依赖注入(Dependency Injection,DI)。
依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .
注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .
1、构造器注入 (上面)
2、Set 注入 (重点)
要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is .
属性public class Student { private String name; private Address address; private String[] books; private Listbean.xmlhobbys; private Map card; private Set games; private String wife; //此时表示 空值 private Properties info;
测试红楼梦 西游记 水浒传 三国演义
听歌 吃饭 看电影 打游戏 王者荣耀 英雄联盟 皇室战争 部落冲突 Mysql com.jdbc root 123456
@Test public void test1(){ ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); Student student = context.getBean("Student", Student.class); System.out.println(student.toString()); }
3、p命名和c命名注入User.java :【注意:这里没有有参构造器!】
public class User { private String name; private int age;
p 命名空间注入 : 需要在头文件中加入约束文件 属性 set 方法
导入约束 : xmlns:p="http://www.springframework.org/schema/p"
c 命名空间注入 : 需要在头文件中加入约束文件 构造器 有参构造!
导入约束 : xmlns:c="http://www.springframework.org/schema/c"Bean的作用域 Singleton (默认) Prototype 原型模式也就是在之后的getBean时重新new一个对象
测试 OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的 *** 作,只需要在xml配置文件中进行修改,所谓的lOC,一句话搞定:对象由Spring来创建,管理,装配!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)