通过在classpath自动扫描方式把组件纳入spring容器中管理
spring在2.5之后的版本就引入了组件自动扫描机制,它可以在类路径底下寻找标注了@Component、@Service、@Controller、@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件是一样的。要使用自动扫描机制,需要打开以下配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd "
default->
<context:component-scan base-package="com.sample"/>
</beans>
其中base-package为需要扫描的包(包含子包)。
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts的action)
@Repository用于标注数据访问层组件、即DAO组件
@Component泛指组件、当组件不好归类的时候,我没可以使用这个注解进行标注
目前Spring只是区分了以上注解,但是在底层没有具体实现上的区分。
注意:
a、我们也可以在注解中指定bean的名字、根据主机指定名字获取bean @Service("personService")
b、我没也可以在注解中指定bean的生成方式,默认为单例,可以指定为原型
@Service("personService") @Scope("propotype")
c、可以使用注解指定bean的初始化和销毁方法
@PostConstruct 对应bean配置中的init-method
@PreDestroy 对应bean配置中的destroy-method
分享到:
相关推荐
在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式配置每个Bean,而是通过指定包路径来让Spring自动发现和管理Bean。本文将深入探讨这个主题,帮助你更好地理解和应用这一功能。 首先,让...
1. **自动配置**:Spring Boot通过扫描特定的类路径和在`@SpringBootApplication`注解的类中寻找`@EnableAutoConfiguration`注解,自动配置Spring容器中的Bean。这使得开发者无需手动编写大量的XML配置文件。 2. **...
3. **组件扫描**:`@ComponentScan`注解用于指定哪些包下的类会被扫描并纳入Spring容器,这样在测试中可以注入相关的bean。 4. **数据源配置**:在测试中,经常需要模拟数据库操作。Spring Boot通过`@DataJpaTest`...
### Spring学习笔记(最新版) #### 一、Spring框架简介 Spring框架是一个广泛使用的轻量级企业级应用框架,它提供了全面的解决方案来构建复杂的Java应用程序。Spring的核心特性包括依赖注入(Dependency Injection,...
标题中的“Spring技术内幕 学习笔记”表明这是一份关于深入理解Spring框架核心机制的资料集合,主要关注Spring框架的内部工作原理和高级用法。描述中的“NULL”没有提供额外信息,但我们可以通过标签“源码”和...
#### 二、Spring容器配置与管理 ##### 1. Spring配置文件编写流程 - **导入jar包**: 需要导入Spring核心库和相关的第三方库,例如`spring-beans`、`spring-context`、`spring-expression`等。 - **编写目标类**: ...
这个学习笔记的完整教程将涵盖多个关键领域,帮助开发者深入理解和使用 Spring Boot。 1. **Spring Boot 教程** - **基础入门**:了解 Spring Boot 的核心理念,包括自动配置、起步依赖和独立运行的特性。 - **...
- 当Spring容器扫描bean定义时,遇到`@Autowired`注解,它会在当前作用域内查找与目标字段或方法参数类型相匹配的bean。如果找到一个,就将其注入;如果没有找到,就会抛出异常,除非你启用了默认值或者可选性。 3...
它相当于在XML配置中的`<aop:aspectj-autoproxy>`标签,作用是在Spring容器启动时,自动扫描所有被`@Aspect`标注的类,并创建相应的代理对象。 #### 深入理解AOP的动态代理机制: Spring的动态代理机制依赖于Java...
总结来说,Spring 的 IoC 容器通过 XML、注解或 Java 配置类来管理 Bean 的生命周期和依赖关系,提供了一种松耦合、易于测试和扩展的开发方式。理解并熟练应用这些知识点对于任何 Spring 开发者都是至关重要的。通过...
### Spring2.5注解(标注)学习笔记 在探讨Spring2.5中常见的四个注解之前,我们先简要回顾一下Spring框架的基本概念。Spring框架是一个轻量级的Java应用开发框架,它通过依赖注入(DI)和面向切面编程(AOP)等...
描述了如何将Bean组件交给Spring容器管理、如何获取容器对象和Bean对象、对象创建模式的控制、Bean对象创建时机以及为Bean对象执行初始化和销毁方法的案例。 三、Spring框架IoC特性 详细介绍了IoC概念、DI(依赖...
- `@ImportResource` 用于导入XML配置文件,使配置在Spring容器中生效。 Spring Boot推荐使用注解配置来添加组件,而不是传统的XML配置。 - 属性文件中的占位符如 `${random.uuid}` 可以动态生成值。 - `...
- **单例模式支持**:Spring 容器默认将 Bean 作为单例管理,这有助于减少资源消耗并提高性能。 - **AOP 技术**:Spring 支持 AOP,可以通过简单的配置实现诸如日志记录、权限控制等功能,大大提高了开发效率。 - **...