Spring注解開發需要jar包 和 xml開發 一樣的 !
第一步: 新建項目, 導入jar包(就是前一篇文章里面的那幾個核心jar包)
第二步: 在需要spring創建對象類上面 添加@Component (注解 來自spring2.5 )
第三部:修改applicationContext.xml。
<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:component-scan base-package="cn.itcast.spring.quickstart"></context:component-scan> </beans>
<context:component-scan base-package="cn.itcast.spring.quickstart"></context:component-scan>這一步很關鍵,這么一配置的話,
程序就會從base-package="cn.itcast.spring.quickstart"這個包下面的文件里面去尋找被注解過的類。不然怎么找的到。
JUnit測試代碼:
public class quiclkstatrtytest { @Test public void testDemo1() { ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService=applicationContext.getBean("userService",UserService.class); System.out.print(userService); } }
Spring為了細分組件的功能,在提供@Component注解,提供三個等價的注解
@Controller 控制器,表示web層組件 ---- action
@Service 業務類,表示業務層組件 --- service
@Repository 表示持久層的組件 --- dao
已經有了@Component了為什么還要有上面三個注解呢?因為Spring 公司要考慮到以后的升級,為單獨的注解添加不同的特別功能。現在的話這三個注解和@Component注解還是沒有區別的,
用哪個都是一樣的。但是為了代碼更加規范還是建議根據不同的環境,采用上面的注解。
