写在前面
之前刚开始实习参加工作的时候,打算两周一篇,结果只做到了一个月一篇,因为四月开始做学校的毕业设计,以及换工作,就耽搁了,换工作也很成功,从嵌入式转到了互联网,现在已经实习了快两个月了,之前一直在做.net开发,最近公司转用java,工作之余,就从最底层的spring学起,同时也把经验分享给大家。
一创建工程
打开idea->File->New->Project
这三个全勾上后,点击Next。
输入工程名称,和工程路径后点击Finish,新建项目完成。加载后,文件目录如下图:
二、编写源代码
源代码在str文件下添加,右键src->New->Package,如图:
然后输入文件名就可以了
我们先新建一个文件夹entity,结果如下图:
在entity中创建一个类,和创建文件夹差不多,输入类名字person。
源代码如下
package entity;
public class person {
private String name;
private 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 "Person[name="+ name +",age="+ age +"]";
}
}
三、编写xml文件
右键src -> New -> XML Configuration file -> spring Config,如图所示。
输入xml文件名:applicationContext
spring支持三种依赖注入方式,属性注入是最常用的注入方式,其他两种为属性注入和工厂方式注入(下一篇博客具体介绍这三种注入方式,这篇是为了快速入门就选择属性注入)
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 属性注入bean的依赖对象-->
<bean id="person" class="entity.person">
<property name="name" value="张三"></property>
<property name="age" value="18"></property>
</bean>
</beans>
四、添加测试类
先在src中创建test文件夹然后创建test类,最后完整的文件目录如下所示:
写入代码:
package test;
import entity.person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class test {
public static void main(String args[]){
//1创建String的IOC容器
//ApplicationContext 代表IOC 容器接口
//ClassPathXmlApplicationContext:ApplicationContext接口的实现类,该实现类从路径下加载配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//2从IOC容器中获取Bean实例
person person= (person) context.getBean("person");
//3调用方法
System.out.println(person.toString());
}
}
不需要去再去Run/Debug configurations中创建的,直接点这个绿色箭头运行就可以了。
五、运行结果
红色的是日志,白色的就是输出的,然后我们看applicationContext注入的是不是和输出的一样,很明显我们这里成功了。