@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
如下是一个测试例子:
applicationContext.xml
<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/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- <context:annotation-config /> --> <context:component-scan base-package="com.zzt.test" /> </beans>
IUserService.java
package com.zzt.test; public interface IUserService { public void service(); }
UserServiceImpl.java
package com.zzt.test; import org.springframework.stereotype.Service; @Service public class UserServiceImpl implements IUserService { @Override public void service() { System.out.println("service ..."); } }
Person.java
package com.zzt.test; public interface Person { void testPerson(); }
Man.java
package com.zzt.test; import org.springframework.stereotype.Component; @Component//("man") public class Man implements Person { @Override public void testPerson() { System.out.println("===========man==========="); } }
Woman.java
package com.zzt.test; import org.springframework.stereotype.Component; @Component//("woman") public class Woman implements Person { @Override public void testPerson() { System.out.println("===========woman========="); } }
用于测试的类:TestAction.java
package com.zzt.test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; @Controller public class TestAction { @Autowired public IUserService userService; @Autowired @Qualifier("woman") private Person person; public void test() { userService.service(); person.testPerson(); } }
程序入口:Demo.java
package com.zzt.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Demo { public static void main(String[] args) throws InterruptedException { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); TestAction action = (TestAction) context.getBean("testAction"); action.test(); } }
getBean的默认名称是类名(头字母小 写),如果想自定义,可以@Service(“aaaaa”)这样来指定,这种bean默认是单例的,如果想改变,可以使用 @Service(“beanName”) @Scope(“prototype”)来改变。可以使用以下方式指定初始化方法和销毁方法(方法名任意):
@PostConstruct public void init() {
}
@PreDestroy public void destory() {
}
关于更多注解的使用,参考:http://www.iteye.com/topic/295348
相关推荐
spring中使用注解时配置文件的写法: <?xml version=1.0 encoding=UTF-8?> <span xss=removed><beans xmlns=http://www.springframework.org/schema/beans xmlns:xsi=...
Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点,Spring常用注解和扩展点
本篇文章将深入探讨Spring Boot中的一些常用注解,帮助开发者更好地理解和运用这些工具。 1. **@SpringBootApplication** 这是Spring Boot应用的核心注解,它结合了`@Configuration`, `@EnableAutoConfiguration`,...
spring boot常用注解
浅谈Spring常用注解是Spring框架中的一些基本概念,了解这些概念对于 MASTERING SPRING Framework非常重要。本文将对Spring中常用的注解进行分类和介绍,并对每个注解的使用进行解释。 一、Bean定义注解 在Spring...
Spring MVC常用注解及源码分析,详细介绍各个注解的使用常用以及实现原理分析
Spring Boot常用注解xmind思维导图
Spring 常用注解整理,分类:创建对象;注入数据;范围;全局异常;生命周期;新注解;JPA;扩展原理等注解类型。
以下是对Spring常用注解的详细说明: 1. `@Component`:这是Spring的基础组件注解,用于标记一个类作为Spring管理的Bean。你可以将其视为传统XML配置中的`<bean>`标签。Spring会自动扫描标记了此注解的类,并将它们...
下面将详细讲解 Spring MVC 中常用的注解。 1. `@Controller`:这个注解标记一个类作为 Spring MVC 的控制器。控制器负责接收 HTTP 请求并调用业务逻辑,然后将结果传递给视图层。例如: ```java @Controller ...
在Spring MVC中,注解的使用极大地简化了配置,使得开发更加高效和简洁。下面我们将深入探讨Spring MVC中的一些关键注解及其用法。 1. `@Controller`:这个注解用于标记一个类作为Spring MVC的控制器。控制器类负责...
而声明式事务管理则是在配置文件或者注解中声明事务边界,将事务管理与业务逻辑分离,使得代码更清晰。 ### 2. 基于注解的事务管理 #### 2.1 `@Transactional` Spring的`@Transactional`注解是声明式事务管理的...
`@Autowired`是Spring中最常用的注解之一,用于自动装配Bean。它默认按照类型进行匹配,即`byType`,这意味着Spring会寻找与注解类型相匹配的唯一Bean,并将其注入。如果存在多个相同类型的Bean,则可以通过`@...
Spring常用注解
Spring常用注解(收藏大全) Spring 框架中提供了许多注解,以便于开发者快速、方便地开发应用程序。这些注解可以分为多个类别,包括 bean 声明、依赖注入、配置类相关、切面相关、属性支持、值注入、环境切换等。 ...
spring常用注解,省去配置文件的麻烦,使用简洁的注解自动完成spring的配置