学Spring的历程(1)
一、入门程序
在对Spring的核心容器了解后,学习了一个入门简单的程序。
首先搭建项目。
1.准备4个基础包和一个commond-loging jar包。
2.创建配置文件apllicationContext.xml,apllicationContext.xml的约束条件在spring-framework-refrence中找。
3.建立一个con-spring-one包,在包下面建立三个类,分别为接口UserDao、实现类UserDaoIml、测试类Test01.
UserDao内放say的方法。
UserDaoiml内放say的方法并输出“hello Spring”.
4.将对象的实例交给Spring管:
<bean id = "userDao" class="alern.spring.one.UserDaoIml"></bean>
5.在Test01中测试:
初始化容器,加载配置文件。通过Spring容器获取UserDao的实例:
public static void main(String [] args){
//初始化Spring容器,加载配置文件
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("aplicationContext.xml");
//通过容器获取userDao()
UserDao userdao = (UserDao) applicationContext.getBean("userDao");
//调用实例中的say方法
userdao.say();
}
在这个简单程序中,却报了两次错,一次是我在配置apllicationContext.xml时,复制粘贴的时候多复制了<?xml version="1.0" encoding="UTF-8"?>
还有一次是实现类忘了实现接口。
二、注入实例
1.在con-spring-one下建立接口UserService,添加say方法。
public interface UserService {
public void say();
}
2.在con-spring-one下建立接口UserService的实现类。在实现类中声明UserDao属性。
public class UserServiceIml implements UserService{
//声明UserDao属性
private UserDao userDao;
//添加setUserDao方法实现属性注入
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
//实现接口中的方法
public void say(){
//调用UserDao中的方法,并加上输出语句
this.userDao.say();
System.out.println("userService say hello world");
}
}
3.在apllicationContext.xml配置文件中添加UserService的实例。并使用<property/>完成setUserDao的属性注入。
<bean id = "userService" class="alern.spring.one.UserServiceIml">
<property name="userDao" ref="userDao"></property>
</bean>
4.创建测试类Test02.
public static void main(String [] args){
//1.初始化Spring容器,加载配置文件。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("aplicationContext.xml");
//2.通过容器获取Uservice实例
UserService userService = (UserService) applicationContext.getBean("userService");
//3.调用实例中的say()方法
userService.say();
}