一嗽仪、入門程序
在對(duì)Spring的核心容器了解后扣囊,學(xué)習(xí)了一個(gè)入門簡(jiǎn)單的程序绰沥。
首先搭建項(xiàng)目。
1.準(zhǔn)備4個(gè)基礎(chǔ)包和一個(gè)commond-loging? jar包。
2.創(chuàng)建配置文件apllicationContext.xml,apllicationContext.xml的約束條件在spring-framework-refrence中找扣汪。
3.建立一個(gè)con-spring-one包,在包下面建立三個(gè)類勺拣,分別為接口UserDao黔宛、實(shí)現(xiàn)類UserDaoIml、測(cè)試類Test01.
UserDao內(nèi)放say的方法雳殊。
UserDaoiml內(nèi)放say的方法并輸出“hello Spring”.
4.將對(duì)象的實(shí)例交給Spring管:
<bean id = "userDao" class="alern.spring.one.UserDaoIml"></bean>
5.在Test01中測(cè)試:
? ? 初始化容器橘沥,加載配置文件。通過Spring容器獲取UserDao的實(shí)例:
public static void main(String [] args){
//初始化Spring容器,加載配置文件
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("aplicationContext.xml");
//通過容器獲取userDao()
UserDao userdao = (UserDao) applicationContext.getBean("userDao");
//調(diào)用實(shí)例中的say方法
userdao.say();
}
在這個(gè)簡(jiǎn)單程序中夯秃,卻報(bào)了兩次錯(cuò)座咆,一次是我在配置apllicationContext.xml時(shí),復(fù)制粘貼的時(shí)候多復(fù)制了<?xml version="1.0" encoding="UTF-8"?>
還有一次是實(shí)現(xiàn)類忘了實(shí)現(xiàn)接口仓洼。
二介陶、注入實(shí)例
1.在con-spring-one下建立接口UserService,添加say方法。
? ??public interface UserService {
????????????public void say();
????}
2.在con-spring-one下建立接口UserService的實(shí)現(xiàn)類色建。在實(shí)現(xiàn)類中聲明UserDao屬性哺呜。
public class UserServiceIml implements UserService{
//聲明UserDao屬性
private UserDao userDao;
//添加setUserDao方法實(shí)現(xiàn)屬性注入
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
//實(shí)現(xiàn)接口中的方法
public void say(){
//調(diào)用UserDao中的方法,并加上輸出語(yǔ)句
this.userDao.say();
System.out.println("userService say hello world");
}
}
3.在apllicationContext.xml配置文件中添加UserService的實(shí)例镀岛。并使用<property/>完成setUserDao的屬性注入弦牡。
<bean id = "userService" class="alern.spring.one.UserServiceIml">
<property name="userDao" ref="userDao"></property>
</bean>
4.創(chuàng)建測(cè)試類Test02.
public static void main(String [] args){
//1.初始化Spring容器友驮,加載配置文件。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("aplicationContext.xml");
//2.通過容器獲取Uservice實(shí)例
UserService userService = (UserService) applicationContext.getBean("userService");
//3.調(diào)用實(shí)例中的say()方法
userService.say();
}