1. 需要在applicationContext.xml 启动注解注入的方式,添加配置选项,如下:
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
完整的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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/
beans
http://www.springframework.org/schema/beans/spring-beans-2.0.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">
<context:annotation-config/> <!-- 定义使用注解注入 -->
<context:component-scan base-package="com.spring"/><!--自动搜索自定包下的类进行注解注入-->
</beans>
2. 对类进行注解注入
如何对需要注解的类进行标识,分为两种方法:
(1). 通用方法:
@Component("别名")
@Scope("prototype") //多例(默认是单例)
通用方法对所有的类都可用,如action,service,dao,但是不推荐使用,因在这样不好区分,代码可读性不好。
(2).特殊类注解(这种方法是spring推荐的)
action 类: @Controller("别名")
service 类: @Service("别名")
dao 类: @Repository("别名")
3. 实例代码
UserAction:
package com.spring.action;
import javax.annotation.Resource;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.spring.dao.UserDao;
import com.spring.service.UserService;
@Controller("userAction")
@Scope("prototype") //多例模式
public class UserAction {
@Resource(name="userService") //通过注解得到UserService对象
private UserService us;
@Resource(name="UserDao") //通过注解得到UserDao对象
private UserDao dao;
public void run(){
System.out.println("UserAction running......");
us.runService();
dao.addUser("admin");
}
}
UserService:
package com.spring.service;
import org.springframework.stereotype.Service;
@Service("userService")
public class UserService {
public void runService(){
System.out.println("user service running......");
}
}
UserDao:
package com.spring.dao;
import org.springframework.stereotype.Repository;
@Repository("UserDao")
public class UserDao {
public void addUser(String username){
System.out.println(username+"添加成功");
}
}
分享到:
相关推荐
在Spring 3.0中,注解注入还支持了构造器注入,通过在构造函数参数上使用`@Autowired`,Spring会在实例化bean时调用相应的构造函数并注入对应的依赖。 为了更深入地学习Spring 3.0的注解注入,你可以阅读提供的文档...
### Spring注解注入属性 #### 一、传统方式与注解方式对比 在Spring框架中,依赖注入(DI)是一种核心的设计模式,用于促进松耦合的系统设计,使得组件之间的依赖关系可以在运行时动态地建立,而不是在编译时硬...
### Spring IoC与注解依赖注入详解 #### 一、Spring框架简介 Spring框架是由Rod Johnson创建的一个开源项目,最初是为了解决企业级应用开发中的复杂性问题而诞生的。Spring框架的核心特性包括IoC(Inversion of ...
@Autowired是Spring提供的注解,它可以实现自动装配,开发者可以通过此注解自动注入Bean的依赖。Autowired注解可以用在成员变量、setter方法以及构造函数上。当Spring容器启动时,它会自动查找并注入匹配的Bean。 @...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合...通过理解并熟练运用构造器注入、设值注入和接口注入,开发者可以更好地利用Spring框架进行企业级应用的开发。
要用注解注入方式,还需要在applicationContext.xml文件加入一行代码: <context:component-scan base-package="Mode"></context:component-scan> //表示在包mode下面的类将扫描带有@Component,@Controller,@Service...
这篇博客"使用反射和注解模拟Spring的依赖注入"探讨了如何通过基本的Java特性来实现类似Spring的功能。我们将深入探讨反射和注解这两个关键概念,以及它们如何在模拟依赖注入中发挥作用。 首先,让我们理解反射的...
Spring 自定义注解注入properties文件的值jar包,下面为使用方法 在xml配置文件中,这样加载properties文件 ...
- **依赖注入**:如何通过 XML 配置或注解实现对象之间的依赖关系,以及如何在运行时自动装配对象。 - **AOP 实现**:了解切面、通知、连接点、切入点表达式等概念,以及如何通过代理模式实现面向切面编程。 - **...
在上面的例子中,`UserService`通过`@Service`注解标记为一个Bean,并通过`@Autowired`注解自动注入了`UserRepository`。`@Value`注解从属性文件中读取数据库用户名,`@Resource`注解则按名称注入了`EmailService`。...
在Spring框架中,属性注入是核心特性之一,它允许我们通过依赖注入(Dependency Injection, DI)来管理对象的属性,而不是让对象自行创建或查找它们的依赖。这有助于提高代码的可测试性、可维护性和解耦性。下面将...
在 Spring 2.5 引入了 @Autowired 注释,我们平常直接引用的时候很少注意这些,只是自己写好了一个方法或者 springboot 自动配置好的一个方法我们要在另一个类中去调用,这个时候,我们就会采用该注释。 2. @...
3. **@Primary**:如果仍然有多个匹配的bean,Spring会选择带有`@Primary`注解的bean作为首选注入。 4. **@Qualifier注解**:如果还有多个bean,且没有`@Primary`,Spring会检查`@Autowired`注解是否带有`@Qualifier...
通过运行这个示例,你可以看到如何在实际应用中使用Spring的设值注入。 设值注入不仅限于字符串,还可以注入其他类型的值,如基本类型、集合、其他bean引用等。例如,你可以注入一个列表: ```xml <value>1 ...
在Spring框架中,注解注入是一种非常重要的依赖管理机制,特别是在Spring 3.0及更高版本中得到了广泛的应用。本文将详细阐述Spring 3.0中的注解注入,包括@Autowired、@Qualifier、@Resource和@PostConstruct这四个...
Spring框架是Java开发中广泛应用的一个轻量级框架,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而实现DI的一种重要方式就是通过注解(Annotations)。本文将深入探讨Spring如何利用注解来实现...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护...通过实践和理解这些例子,你可以更好地掌握Spring的依赖注入机制。
本文将深入探讨Spring注解的基本原理,包括它们如何被解析、处理以及如何影响应用程序的生命周期。 首先,我们需要了解注解在Java语言中的本质。注解是一种元数据,允许程序员在源代码中嵌入信息,这些信息可以被...
二、Spring注解方式的依赖注入 1. `@Autowired` 注解:这是Spring中最常用的注解,用于自动装配依赖。当Spring容器扫描到这个注解时,会自动寻找类型匹配的bean进行注入。如果存在多个候选bean,可以通过`@...
1. **构造器注入**:通过在类的构造函数中传递依赖对象的实例,Spring容器会在创建目标对象时调用合适的构造函数并注入依赖。 2. **setter注入**:在类中定义setter方法,Spring容器可以通过调用这些setter方法来...