使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护。(偶喜欢这个功能,因为偶对xml不感冒)。
以下是一个例子:
先编写接口Man:
- public interface Man {
-
-
public String sayHello();
-
- }
然后写Man的实现类Chinese和American:
- @Service
-
-
public class Chinese implements Man{
-
-
public String sayHello() {
-
-
return "I am Chinese!";
-
- }
-
- }
-
-
-
-
@Service
-
-
public class American implements Man{
-
-
public String sayHello() {
-
-
return "I am American!";
-
- }
-
- }
-
@Service注释表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Chinese实例化为chinese,American实例化为american,如果需要自己改名字则:@Service("你自己改的bean名")。
beans.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">
-
-
<context:annotation-config/>
-
-
<context:component-scan base-package="testspring.main"/>
-
-
</beans>
-
在spring的配置文件里面只需要加上<context:annotation-config/>和<context:component-scan base-package="需要实现注入的类所在包"/>,可以使用base-package="*"表示全部的类。
编写主类测试:
- @Service
-
-
public class Main {
-
-
@Autowired
-
-
@Qualifier("chinese")
-
-
private Man man;
-
-
-
-
public static void main(String[] args) {
-
-
- padding-top: 0px !important; padding-right: 3px !important; padding-bottom: 0px !important; padding-left: 10px !important; font-family: Verdana, Georgia, Arial, Helvetica, sans-serif; border-top-style: none; border-right-style: none; border-bottom-style: n
分享到:
相关推荐
使用 Spring 2.5 的 Autowired 实现注释型的 IOC 在 Spring 2.5 中,Autowired 是一个非常重要的特性,它可以实现快速的自动注入,无需在 XML 文档里面添加 bean 的声明,大大减少了 XML 文档的维护。下面我们将...
使用Spring2.5的Autowired实现注释型的IOC , 使用Spring2.5的新特性——Autowired可以实现快速的自动注入,而无需在xml文档里面添加bean的声明,大大减少了xml文档的维护
**Spring 2.5 注释驱动的 IoC 功能详解** Spring 框架自 2.5 版本开始引入了对注解的强大支持,极大地简化了依赖注入(Dependency Injection,简称 DI)的配置过程。注解驱动的 IoC(Inverse of Control,控制反转...
在 Spring 2.5 引入了 @Autowired 注释,我们平常直接引用的时候很少注意这些,只是自己写好了一个方法或者 springboot 自动配置好的一个方法我们要在另一个类中去调用,这个时候,我们就会采用该注释。 2. @...
Spring框架是Java开发中最广泛应用的轻量级框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。这份"spring 源码...
在"基于Maven构建的Spring IoC源码实例"中,我们可以学到如何使用Maven搭建Spring项目,并通过Spring IoC实现组件间的依赖注入。以下是这个实例中可能包含的关键知识点: 1. **Maven项目结构**:了解标准的Maven...
Spring框架使用IOC容器来管理Bean的生命周期,使得开发者可以专注于业务逻辑的实现。 @Autowired @Autowired是Spring框架提供的一个注解,用于实现依赖注入。@Autowired可以将Bean自动装配到容器中,使得开发者...
3. **@Autowired**: Spring通过此注解实现依赖注入。Spring会根据类型或名称自动匹配并注入依赖。如果需要基于名称注入,可以添加`@Qualifier("dependencyName")`。 4. **@Repository、@Service、@Controller**: ...
通过阅读`@Autowired`、`@PostConstruct`、`@PreDestroy`等注解的实现,我们可以了解到Spring如何进行自动装配。同时,对于`BeanDefinition`、`BeanPostProcessor`等关键接口的注释,能帮助我们深入理解bean的生命...
1. **IoC容器**:Spring的核心是IoC容器,它负责管理对象的生命周期和对象之间的依赖关系。IoC通过配置文件或注解来定义对象及其依赖关系,实现对象的创建和管理。在源码中,你可以看到`BeanFactory`和`...
下载"spring-source中文注释版.zip"后,你可以使用IDEA这样的集成开发环境直接导入,通过阅读注释来深入理解Spring框架的工作机制,这对于提升Java开发技能和解决实际问题大有裨益。同时,结合Spring官方文档和其他...
为了验证`@Component`注解是否正常工作,通常我们会编写一个测试类,使用`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解来启动Spring测试环境,并通过`@Autowired`注入`HelloWorld`bean...
在"通过注释实现IOC"部分,我们指的是使用Spring的注解驱动配置来管理对象之间的依赖关系。例如,@Autowired注解可以自动将匹配类型的bean注入到需要它的类中,无需显式地创建对象实例。此外,@Component、@Service...
1. **依赖注入**:Spring的核心特性之一,如何通过XML或注解方式实现对象间的依赖关系管理,以及如何使用@Autowired和@Qualifier注解。 2. **AOP(面向切面编程)**:解释什么是切面,如何定义和使用通知(advice)...
接着,Struts2的Action类会通过注解定义处理的请求和返回的结果,同时可能使用Spring的`@Autowired`注入相关的服务。最后,Hibernate的实体类和映射文件将全部通过注解来完成,使得数据库操作更加直观和简洁。 通过...
升级后,靠注释自动装配@Autowired 实现,但是底层还是靠 ref 实现。 集成 web: 在 web.xml 文件内添加监听,用来加载 Spring 的主配置文件。标准配置文件路径:配置文件放入 config 文件夹(日志配置文件保留在...
您将了解如何使用Spring注释-@ Autowired,@ Component,@ Service,@ Repository,@ Configuration,@ Primary...。 您将深入了解Spring MVC-DispatcherServlet,模型,控制器和ViewResolver 您将使用各种Sp
- 该注解用于标记任何可以被 Spring IoC 容器识别的类。当不确定具体作用域时,可以使用 `@Component`。 - 示例用法:标记一个普通的服务类,如 `@Component("userService") public class UserServiceImpl ...
在源码中,可以看到`org.springframework.beans`和`org.springframework.context`包下的类,如`BeanFactory`和`ApplicationContext`,它们是IoC容器的实现基础。 2. **AOP(Aspect Oriented Programming)**:...