工作两年有余,从当初的一穷二白慢慢走到了今天,期间经历了许多,也收获了许多,因为一直工作比较繁忙,没能抽出时间来整理自己身后所走过的路。最近换了一个新的环境之后终于给抽得一丝空闲来整理这两年来的点点滴滴,在此以博客的形式把自己的成长过程记录下来,写的有不对的地方还希望大家指正,下面就从Spring开始讲起吧。
今天来讲Spring第一天之Spring入门
现在提到Web开发相信绝大多数开发人员都需要接触Spring了,因为用它实在是太方便了。关于Spring的好处这里就不再费话了,因为小可也没有网上那些大牛们讲的头头是道,有兴趣的话大家可以去网上搜一下。如果使用Spring开发、Git版本控制、Maven进行构建的话,那开发的效率会大大提高。
好了,下面我们来进行Spring入门开发的第一个小例子
一般情况下,如果要搭建一个基于Spring的项目开发的话一般需要经过以下几个步骤:
- 创建普通Java项目或Maven项目(如果你还没有用过Maven,建议你赶紧去找本Maven书来看看,相信你会很快喜欢上这种构建方式的)
- 引入Spring相关依赖包
- 创建Spring配置文件
- 使用Spring管理Java类
接下来我们就按照这个步骤来创建我们Spring的第一个例子
1、创建Maven项目(创建后的项目结构如下)
2、引入Spring相关依赖包
在本例子中,只需要引入spring-context依赖即可,依赖如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8</version>
<scope>test</scope>
</dependency>
这里我们引入了spring-context和junit的包,引入junit为了方便测试
3、创建Spring配置文件beans.xml(配置文件名称随意)
关于Spring配置文件内容都需要包含哪些,读者朋友们可以参考Spring手册5.2 Container overview,这一节有比较详细的介绍
http://docs.spring.io/spring/docs/3.2.5.RELEASE/spring-framework-reference/htmlsingle/#beans-basics
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
</beans>
到此,我们所需要的基本工作就完成了,接下来我们测试一下Spring环境是否能正常运行,这里我们写一个基本的测试类来测试一下
/**
*
*/
package com.mhy;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author mhy2011@163.com
* @date 2013年11月22日
*/
public class ApplicationContextTest {
@Test
public void testGetApplicationContext(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
System.out.println(ctx);
}
}
运行该测试类,如果控制台输出如下内容则表明Spring环境正常,可以进行下一步开发了。如果不能运行那就回过头看看上面的步骤是否都做完了
4、使用Spring管理Java类
接下来我们就要演示一下Spring是如何来管理Java类的了。
方法一:基于xml形式的Java Bean管理
第一步:创建基本的Java类(这里我们创建一个Student类)
/**
*
*/
package com.mhy.domain;
import java.io.Serializable;
import java.util.Date;
/**
* @author mhy2011@163.com
* @date 2013年11月22日
*/
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String name;
private Date birthday;
public Student() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public void sayHello(){
System.out.println("调用Student中的sayHello方法");
}
}
第二步:在beans.xml文件中配置bean
<bean id="student" class="com.mhy.domain.Student"></bean>
第三步:写个方法测试一下
@Test
public void testStudent(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
Student student = ctx.getBean("student", Student.class); //通过ApplicationContext获取Student对象
student.sayHello(); //调用Student中的sayHello方法
}
运行一下该测试类,可以看到在控制台下输出如下内容:
是不是很简单?
方法二:基于注解形式的Java Bean管理
上面演示了如何使用XML形式来管理Java Bean,接下来演示一下如何使用注解的形式来管理JavaBean
第一步:开启Spring注解支持,在beans.xml配置文件中增加下面配置
<!-- 自动扫描哪些包下的类 -->
<context:component-scan base-package="com.mhy"></context:component-scan>
第二步:创建Java类(Teacher)
使用Spring注解很简单,只要在类上增加注解@Component即可
/**
*
*/
package com.mhy.domain;
import java.io.Serializable;
import java.util.Date;
import org.springframework.stereotype.Component;
/**
* @author mhy2011@163.com
* @date 2013年11月22日
*/
@Component
public class Teacher implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String name;
private Date birthday;
public Teacher() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public void sayHello() {
System.out.println("调用Teacher中的sayHello方法");
}
}
第三步:写个方法测试一下
@Test
public void testTeacher(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
Teacher teacher = ctx.getBean("teacher", Teacher.class); //通过ApplicationContext获取Teacher对象
teacher.sayHello(); //调用Teacher中的sayHello方法
}
可以看到在控制台下输出如下信息
看到了吧,使用注解的形式比xml形式方便多了吧。
好了,关于Spring第一个例子就说到这,有什么不对的地方希望大家指正。有疑问的欢迎随时进行交流^-^
本例子代码下载地址如下: