1,什么是spring框架
spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和别的框架单独使用,例如熟悉的ssh,ssm,但是由于strus2框架爆出致命缺陷,因此我决定学习ssm框架,此博客主要用来记录自己学习历程代码以及遇到的错误。有自己的见解 也有别处大神的经验。
2.IOC?
IOC:就是控制反转,通俗点讲,将对象的创建权交给spring,我们需要new对象的时候,则由spring帮我们创建,然后供我们使用.从基础上说,这一点比较容易做到.
1.首先第一步就是导包 jar包可以自行去官网下载,如股票觉得比较麻烦,可以去下面网址进行下载:https://repo.spring.io/libs-release-local/org/springframework/spring/3.2.0.RELEASE/
2.在新建的项目里面首先创建一个pojo包 创建一个user类
package pojo;
public class user {
private int age;
private String name;
public user(int age, String name) {
super();
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "user [age=" + age + ", name=" + name + "]";
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public user(){}
}
3在src目录下新建一个xml配置文件 用来装配bean
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean name="users" class="pojo.user">
<property name="age" value="13"></property>
<property name="name" value="张三"></property>
</bean>
4.新建test包 创建test类
package test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import pojo.ojbk;
import pojo.user;
public class test {
@Test
public void tests(){
ApplicationContext context=new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
user user=(pojo.user) context.getBean("users");
System.out.println(user.getName());
}
}
运行测试代码可以得到 name=张三;
2.DI:Dependency Injection(依赖注入)
指 Spring 创建对象的过程中,将对象依赖属性(简单值,集合,对象)通过配置设值给该对象
讲上述例子加以改进
在pojo包中新加入一个类`
``package pojo;
public class ok {
private user users=null;
public user getUsers() {
return users;
}
public void setUsers(user users) {
this.users = users;
}`
public String testt(){
String ss="是个人才";
String sss=users.getName()+ss;
return sss;
}
}`;``
在xml文件中添加如下代码
<bean name="gouzi" class="pojo.ok"> <property name="users" ref="users"></property> </bean>
;``
在test中加入测试
ok testt=(ok) context.getBean("gouzi");
System.out.println(testt.testt());``
测试完成 最终得到 张三是个人才 。
总结:IoC 和 DI 其实是同一个概念的不同角度描述,DI 相对 IoC 而言,明确描述了“被注入对象依赖 IoC 容器配置依赖对象”