当我们使用xml的bean标签来配置组件时,如果遇到很大的项目会有成百上千个组件,那可以想象,xml文件体积是多么的庞大,维护起来也不太方便。spring2.5引入了组件的自动扫描机制,它可以在类路径需找标注了@Service,@Repository,@Controller,@Component这四个注解的类,来加以自动管理。
第一步:
beans2.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: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/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
">
<!-- 以下是spring自动管理bean 的演示(两步:一:配置文件中有如下语句,二:源文件中有@Service,@Repository,@Controller,@Component) -->
<context:component-scan base-package="cn.itcast"></context:component-scan>
</beans>
base-package="cn.itcast"说明了要扫描的包(包括子包)
以下三句是使用spring自动管理bean必不可少的:
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
第二步:定义的接口IPersonService,和接口实现,以及业务实现类PersonServiceBean2
package cn.itcast.service;
public interface IPersonService {
}
package cn.itcast.dao.impl;
public interface IPersonDao {
public abstract void add();
}
package cn.itcast.dao.impl;
import org.springframework.stereotype.Repository;
@Repository("persondao")
public class PersonDaoBean implements IPersonDao {
public void add(){
System.out.println("执行PersonDaoBean类中的add方法");
}
}
package cn.itcast.service.impl;
import cn.itcast.service.IPersonService;
@Service("personService_zidong")
public class PersonServiceBean2 implements IPersonService {
private IPersonDao iPersonDao;
public void save() {
iPersonDao.add();
}
}
在这里运用的@Service("personService_zidong"),就相当于,在配置文件里面做了这样的配置:
<bean id="persondao" class="cn.itcast.dao.impl.PersonDaoBean">
</bean>
<bean id="personService_zidong" class="cn.itcast.service.impl.PersonServiceBean" >
测试类:
package junit.test;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.itcast.service.IPersonService;
public class springTest2 {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@Test public void instanceSpring(){
ApplicationContext ac = new ClassPathXmlApplicationContext("beans2.xml");
IPersonService ipersonService2 = (IPersonService)ac.getBean("personService_zidong");
ipersonService2.save();
}
}
学习感想:
1:@Service,@Repository,@Controller,@Component四个注解的区别,还有待研究
2:这样spring自动管理后,如果要得到某个类的Bean直接上类头上面看就是了,@Service("personService_zidong") ,里面的personService_zidong就是bean的id取值
分享到:
相关推荐
总的来说,Spring 2.5的学习涵盖了Bean的声明、属性注入、类型转换和后处理器的使用等关键概念。理解这些基础,将有助于深入掌握Spring框架,进一步提升应用程序的可维护性和灵活性。在实际开发中,结合注解驱动的...
### Spring2.5学习笔记 #### Spring是什么? Spring是一个开源框架,主要应用于Java平台上的企业级应用程序开发。它提供了一种轻量级的容器管理机制,通过依赖注入(DI)和面向切面编程(AOP)来降低组件间的耦合...
【Spring 2.5 学习笔记】 在深入学习Spring 2.5的过程中,我们可以了解到一系列关键的概念和技术。首先,面向抽象编程是Spring的核心理念之一,它鼓励开发者编写可重用且松散耦合的代码,通过接口而非具体实现进行...
《Spring 2.5 学习笔记》 在IT领域,Spring框架是Java企业级应用开发的首选框架,而Spring 2.5是其发展历史中的一个重要里程碑。本笔记将深入探讨Spring 2.5的核心特性,帮助读者理解并掌握这一版本的精髓。 一、...
《Spring2.5 学习笔记》是一份深入解析Spring框架2.5版本的文档,旨在帮助开发者全面理解和掌握这一经典版本的核心特性与应用实践。Spring作为Java领域中最流行的轻量级框架之一,其2.5版本在当时的发布带来了许多...
### Spring2.5 学习笔记知识点概览 #### 第一课:面向抽象编程 - **概念理解**:面向抽象编程是一种设计模式,其核心思想是通过定义接口或抽象类来实现程序结构的设计,使具体实现与接口分离,增强系统的灵活性和...
在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式配置每个Bean,而是通过指定包路径来让Spring自动发现和管理Bean。本文将深入探讨这个主题,帮助你更好地理解和应用这一功能。 首先,让...
通过阅读《spring2.5+学习笔记.doc》和《黎活明__spring教程.ppt》以及《黎活明_struts2教程.ppt》,你可以更深入地了解Spring 2.5与Struts2的整合,以及在实际项目中如何有效地利用这些知识。尽管Spring框架已经...
### Spring2.5注解(标注)学习笔记 在探讨Spring2.5中常见的四个注解之前,我们先简要回顾一下Spring框架的基本概念。Spring框架是一个轻量级的Java应用开发框架,它通过依赖注入(DI)和面向切面编程(AOP)等...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
### Spring2.5.6 学习笔记精粹解析 #### 一、Spring框架环境搭建与JAR包配置 在开始深入Spring框架的学习之前,首先需要确保开发环境正确配置Spring框架。按照“传智播客Spring2.5.6学习笔记最新整理”的指引,...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
Spring框架是Java开发中广泛应用的轻量级...这份"Spring框架学习笔记"会深入探讨以上各个知识点,通过PDF文档的形式,提供详细的讲解和实例,对于想要深入了解和学习Spring框架的人来说,无疑是一份实用的学习资源。
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...