2.1 IOC :控制反转
2.1.1 搭建Spring环境
下载jar
maven.springframework.org/release/org…
spring-framework-4.3.9.RELEASE-dist.zip
开发spring至少需要使用的jar(5个+1个):
spring-aop.jar 开发AOP特性时需要的JAR
spring-beans.jar 处理Bean的jar
spring-context.jar 处理spring上下文的jar
spring-core.jar spring核心jar
spring-expression.jar spring表达式
三方提供的日志jar
commons-logging.jar 日志
2.1.2 编写配置文件
直接下载sts工具(相当于一个集合了Spring tool suite的Eclipse): spring.io/tools/sts/
新建:bean configuration .. - applicationContext.xml
2.1.3 开发Spring程序(IOC)
过程:
Student.java
public class Student { private** **int** stuNo ; private** String stuName ; **private** **int** stuAge ; **public** **int** getStuNo() { **return** stuNo; } **public** **void** setStuNo(**int** stuNo) { **this**.stuNo = stuNo; } **public** String getStuName() { **return** stuName; } **public** **void** setStuName(String stuName) { **this**.stuName = stuName; } **public** **int** getStuAge() { **return** stuAge; } **public** **void** setStuAge(**int** stuAge) { **this**.stuAge = stuAge; } @Override **public** String toString() { **return** **this**.stuNo+","+**this**.stuName+","+**this**.stuAge; } 复制代码
Teat.java
//Spring上下文对象:conext
ApplicationContext conext = **new** ClassPathXmlApplicationContext("applicationContext.xml") ; //执行从springIOC容器中获取一个 id为student的对象 Student student = (Student)conext.getBean("student") ; System.***out***.println(student); 复制代码
//1.new
//2.对象属性的复制x
applicationContext.xml
<bean id= "student" class= "org.lanqiao.entity.Student" >
<property name= "stuNo" value= "2" >
<property name= "stuName" value= "ls" >
<property name= "stuAge" value= "24" >
2.1.4 SpringIOC发展史
2.1.5 总结
1.控制反转:
将 创建对象、属性值 的方式 进行了翻转,从new、setXxx() 翻转为了 从springIOC容器getBean()
1. 依赖注入:
将属性值 注入给了属性,将属性 注入给了bean,将bean注入给了ioc容器;
总结:
ioc/di ,无论要什么对象,都可以直接去springioc容器中获取,而不需要自己操作(new\setXxx())