注解的使用
2016-04-08 10:27
316 查看
纸上得来终觉浅
1.基本注解
@Component 标识了一个受Spring管理的组件
@Respository 标识持久层组件
@Service 标识服务层组件
@Controller 标识表现层组件
@Autowires 将bean注入
@Qualifier 指定注入的bean的名字
受标识的组件遵循Spring命名策略,将类的第一个字母小写,或者手动指定名字。 之后就会创建一个bean,并以名字作为bean名。
2.导入spring-aop的jar包后, 代码示例如下:
结果如下:
上述示例中为什么x是能够被注入到的,因为spring会查找Responsitory类型的bean,既有一个已经注入的“respons”的bean,当需要注入另外一个Responsitory类型的bean时候,不管它的名字是什么,比如x,依然是可以注入的;使用@Qualifier显式的指明当然更好。 但是如果指明一个错误的bean是无法注入的, 要不报错的话需要使用required=false,这时候只要不使用它的相关方法就可以了。
1.基本注解
@Component 标识了一个受Spring管理的组件
@Respository 标识持久层组件
@Service 标识服务层组件
@Controller 标识表现层组件
@Autowires 将bean注入
@Qualifier 指定注入的bean的名字
受标识的组件遵循Spring命名策略,将类的第一个字母小写,或者手动指定名字。 之后就会创建一个bean,并以名字作为bean名。
2.导入spring-aop的jar包后, 代码示例如下:
@Component public class Component1{ public void Component1(){ System.out.println("comonent.comonent1()"); } }
@Repository("respons") public class Responsitory1{ @Autowired private Component1 component1; public void Repository1(){ System.out.println("Responsitory.Repository1()"); component1.Component1(); } }
@Service public class Service1 { @Autowired private Responsitory1 x; @Autowired @Qualifier("respons") private Responsitory1 x2; @Autowired(required=false) @Qualifier("responsi") private Responsitory1 x3; public void Service1(){ System.out.println("Service.Service1()"); x.Repository1(); x2.Repository1(); // x3.Repository1(); } }
<context:component-scan base-package="com.roadArchitectWeb.Test"></context:component-scan>
public class main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); Service1 service1 = (Service1)ctx.getBean("service1"); service1.Service1(); } }
结果如下:
Service.Service1() Responsitory.Repository1() comonent.comonent1() Responsitory.Repository1() comonent.comonent1()
上述示例中为什么x是能够被注入到的,因为spring会查找Responsitory类型的bean,既有一个已经注入的“respons”的bean,当需要注入另外一个Responsitory类型的bean时候,不管它的名字是什么,比如x,依然是可以注入的;使用@Qualifier显式的指明当然更好。 但是如果指明一个错误的bean是无法注入的, 要不报错的话需要使用required=false,这时候只要不使用它的相关方法就可以了。
相关文章推荐
- yui3的AOP(面向切面编程)和OOP(面向对象编程)
- JavaScript AOP编程实例
- 使用AOP改善javascript代码
- 初识SmartJS - AOP三剑客
- java使用动态代理来实现AOP(日志记录)的实例代码
- 详解JDK 5 Annotation 注解之@Target的用法介绍
- JavaScript之AOP编程实例
- java教程之java注解annotation使用方法
- Javascript aop(面向切面编程)之around(环绕)分析
- php笔记之:AOP的应用
- 深入浅析Spring 的aop实现原理
- Java中注解的工作原理
- Java注解之Retention、Documented、Inherited介绍
- spring aop两种配置方式
- Restful传递数组参数及注解大全
- 实例讲解Java的Spring框架中的AOP实现
- Java @Deprecated注解的作用及传递性
- 小议Java中@param注解与@see注解的作用
- Java注解详细介绍