一、Spring jar包的导入
首先在官网下载好对应版本的jar包,我下载的是spring-framework-4.2.0.RELEASE-dist.jar版本,下载好之后导入对应eclipse工程中就好了,对应不同的开发内容导入对应的jar包,也可以一次性全部导入,注意一点,只需要代码源码jar就可以了,如这种
导入之后一定要记得必须还要有一个日志包,不然会运行会报错的,如这个commons-logging-1.2-bin,一同导入即可,用eclipse编写的肯定需要提示,那就需要在装载一个对应的插件springsource-tool-suite-3.9.4.RELEASE-e4.7.3a-updatesite,我的eclipse是e4.7.3a版本的,所以用了这个,需要插件下载的可以使用如下连接http://download.springsource.com/release/TOOLS/update/3.9.4.RELEASE/e4.7/springsource-tool-suite-3.9.4.RELEASE-e4.7.3a-updatesite.zip,不同eclipse版本的可以直接改连接的版本好就好了,据说在官方已经找不到对应的老版本的插件下载了,都是改装后的eclipse工具了。
具体装载方法如下
1、
2、
3、一路next,然后同意协议
4、安装完成后,新建一个java项目,在new中能够找到spring,安装成功
二、spring 主要分为两大块学习,IOC和AOP学习,现在主要学习ioc
首先新建一个java项目,在src类路径下新件一个
容器,
配置如下
<?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.xsd">
<!-- id作为这个对象的唯一标识,一个bean就是一个对象,property 是为对象的属性赋值 value是内容,value只能为基本数据类型赋值-->
<bean id="stu1" class="com.feilonkji.spring_2day.Student">
<property name="name" value="张三"></property>
<property name="age" value="18"></property>
</bean>
<bean id="stu2" class="com.feilonkji.spring_2day.Student">
<property name="name" value="李四"></property>
<property name="age" value="20"></property>
</bean>
<bean id="stu3" class="com.feilonkji.spring_2day.Student">
<!-- 调用有参构造器进行创建对象并赋值,有多少个参数就有多少个constructor-arg-->
<constructor-arg name="name" value="王五"></constructor-arg>
<constructor-arg name="age" value="22"></constructor-arg>
</bean>
</beans>
代码如下
1、学生类
package com.feilonkji.spring_1day;
/**
*
* @ClassName: Student
* @Description: 学生类,测试spring框架
* @author zr
* @date 2020年2月28日
*/
public class Student {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
2、测试类,利用了Junit局部测试
package com.feilonkji.spring_1day;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
class IOCTest {
/**
* 从容器中拿到组件
* <p>Title: test</p>
* <p>Edscription: </p>
*/
@Test
void test() {
//ApplicationContext :代表ioc容器
//ClassPathXmlApplicationContext :当前应用的配置文件在class文件的位置
ApplicationContext ioc = new ClassPathXmlApplicationContext("ioc.xml");
//通过id从容器中找到对象实例
Student stu = (Student)ioc.getBean("stu1");
System.out.println(stu);
}
}
3、有几个注意的点,在ioc容器中的配置信息,创建实例,一个bean就相当于实例化一个对象,调用的相当于实例类中的无参构造方法,为实例赋值,在实例类中一定要有setter和getter方法,ioc容器创建实例的原理是利用管理反射的机制new了一个对象,如果实例类中有有参构造方法,则可以用constructor-arg来给构造方法参数赋值,赋值一定要按参数的顺序书写。
三、写博客没啥经验,当作复习了。