要想检测这些类并注册相应的bean,需要在xml中包含以下元素,其中basePackage是两个类的公共父包
先看beans.xml的配置(<context:component-scan base-package="com.lbx" />
)
<?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">
<context:annotation-config />
<context:component-scan base-package="com.lbx" />
</beans>
要注册的<bean>
package com.lbx.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.lbx.dao.UserDao;
import com.lbx.po.User;
import com.lbx.service.UserService;
@Component("userService")
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void init(){
System.out.println("UserServiceImpl.init()");
}
@Override
public void add(User user) {
userDao.add(user);
}
public UserDao getUserDao() {
return userDao;
}
@Resource//(name="userDao") //最好用@Resource 不要用@Autowired
public void setUserDao( UserDao userDao) {
this.userDao = userDao;
}
public void destroy(){
System.out.println("UserServiceImpl.destroy()");
}
}
分享到:
相关推荐
综上所述,"Spring demo 自动检测注解"主要展示了Spring如何利用注解进行组件扫描、依赖注入、以及生命周期管理。通过这个简单的例子,你可以了解到Spring如何通过自动检测和管理bean,使应用程序更加灵活且易于维护...
4. **组件扫描**:Spring可以自动检测并管理带有特定注解(如@Service、@Repository和@Controller)的类,这一功能被称为组件扫描。这简化了配置,使得我们可以专注于业务逻辑。 5. **AOP(Aspect Oriented ...
在Spring框架中,`<context:component-scan/>`元素是核心组件扫描的基石,它允许我们自动检测和注册beans,极大地简化了配置工作。这篇博客将深入探讨这个功能强大的特性,以及如何在实际开发中有效利用它。 一、...
3. **Bean `autoProxyCreator`** - 实例化 `DefaultAdvisorAutoProxyCreator` 类,这个类会自动检测所有 Advisor 并为符合条件的 Bean 创建代理。 4. **Bean `advisor`** - 这是一个 `RegexpMethodPointcutAdvisor`...
在 Spring 框架中,组件扫描是指通过注解和 XML 配置来自动检测和加载Bean的过程。下面将详细介绍标签的使用方式和原理。 一、标签的作用 标签是 Spring 框架中用于组件扫描的核心标签。该标签可以自动检测和加载...
标题“Spring2.5 自动扫描classpath”涉及的是Spring框架中的一个重要特性——自动组件扫描(Auto-Component Scanning)。在Spring 2.5版本中,这个功能极大地简化了配置,使得开发者无需显式地声明每个bean,只需在...
Spring框架提供了自动扫描的功能,通过该功能可以自动检测并注册带有特定注解的类为Spring管理的bean,从而极大地减少了显式配置的需求。这一特性主要通过`<context:component-scan>`元素实现。 ##### 配置示例: ...
首先,Spring作为Java领域中的轻量级框架,其核心特性是依赖注入(Dependency Injection,简称DI),通过控制反转(Inversion of Control,简称IoC)来实现组件间的解耦,提高系统的灵活性和可测试性。Spring MVC是...
- **自动装配**:Spring可以自动检测并注入Bean之间的依赖关系,无需显式配置。 - **依赖检查**:Spring可以检查应用程序中是否存在未使用的Bean引用,帮助开发者发现潜在的问题。 #### 3.4 定制Bean的行为 - **...
5. **autodetect**:Spring会尝试检测bean的构造函数或setter方法,如果找到有@Autowired注解的,就进行自动装配。 二、使用自动装配 1. **@Autowired**注解:这是Spring提供的用于标记需要自动装配的字段、构造器...
- Spring通过`DefaultAdvisorAutoProxyCreator`组件自动创建代理。当它检测到容器中有Advisor或Aspect对象时,会为匹配的bean创建代理。 - `@EnableAspectJAutoProxy`注解可以启用基于AspectJ的自动代理,使Spring...
#### 三、SpringCloud核心组件详解 3. **核心组件介绍** - **Eureka**: 服务注册与发现组件,为服务提供注册中心,支持服务间的相互发现。 - **Feign**: 一种声明式的HTTP客户端,它基于动态代理机制工作。通过...
8. **Spring Boot 支持**:随着 Spring Boot 的流行,Spring IDE 插件也增加了对 Spring Boot 项目的良好支持,包括自动配置检测、Actuator 监控视图等。 9. **Maven 和 Gradle 集成**:Spring IDE 支持基于 Maven ...
- `@Autowired`:Spring默认按类型匹配bean进行自动装配,如果存在多个候选bean,可以通过`@Qualifier`指定特定的bean。此外,`@Autowired`可以应用于字段、方法和构造器。 - `@Resource`:与`@Autowired`相似,但...
这种方式更加直观,易于测试,同时也支持自动检测组件(@ComponentScan)。 3. 注解配置:Spring框架还支持在类或方法上使用注解进行配置,如`@Autowired`用于自动装配依赖,`@Service`、`@Repository`、`@...
10. 自动装配(Auto-Wiring):Spring自动检测并满足Bean之间的依赖关系,但这种方式可能导致不可预测的结果,因此通常不推荐使用。可以通过`autowire`属性设置自动装配模式。 11. 依赖检查(Dependency Checking)...
SpringLoaded是Spring框架的动态代理加载器,它实现了Java的类加载机制,可以在应用运行时自动检测源代码的变化,并实时重载修改后的类,从而避免了每次修改代码都需要重新构建和启动应用的繁琐步骤。SpringLoaded ...
标题中的“基于SpringBoot的自动更新”指的是在SpringBoot应用中实现自动化更新的功能,使得应用程序能够在运行时自动检测并下载最新的版本,无需手动重启服务。这通常涉及到版本控制、网络请求、文件处理等多个技术...