Spring(三)注解装配
2017-11-22 17:26
183 查看
Spring装配Bean之最终法宝-注解装配!
使用注解标识Bean这个标签指定包下的类可以使用集中注解表明这个类为Spring Bean
- @Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
- @Service 通常作用在业务层,但是目前该功能与 @Component 相同。
- @Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。
- @Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。
1、配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 开启注解 --> <!-- <context:annotation-config /> --> <!-- 开启自动扫描Bean,有了自动扫描,可以不用开启注解! --> <context:component-scan base-package="com.zh" /> <!--针对zh以下的包都可使用--> </beans>
2、JavaBean
@Component public class Flashlight { @Value("2") //赋初始值 private int num; @Autowired //byType //@Qualifier("mybattery") //指定byName private Battery battery; public void shine() { System.out.println("照明使用"+num+"节"); battery.supplyPowerPoint(); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public Battery getBattery() { return battery; } public void setBattery(Battery battery) { this.battery = battery; } }
备注:这里需要注意一个问题,注解装配ID默认为类型头字母小写,如Student类,它的ID就是student;
@Component public class Battery { public void supplyPowerPoint(){ System.out.println("电池"); } }
测试类
public class AnnotationTest { public ApplicationContext applicationContext; public AnnotationTest() { //读取配置文件 applicationContext=new ClassPathXmlApplicationContext("com/zh/annotation/springannotation.xml"); } //注解装配Bean public void annatationBean(){ Flashlight flashlight=(Flashlight) applicationContext.getBean("flashlight"); flashlight.shine(); } //测试 public static void main(String[] args) { AnnotationTest test=new AnnotationTest(); test.annatationBean(); } }
相关文章推荐
- Spring XML配置--使用注解装配(@Atutowired、@Inject、@Resource)
- Spring@Autowired注解与自动装配
- 5、spring自动装配之@Qualifier注解的使用
- Spring事务-注解--装配文件
- java spring - 自动装配Bean 注解大全
- Spring自动注解装配、自动检测装配Bean配合过滤组件使用
- Spring中 基于注解的装配Bean 与 基于xml的对比总结
- 从头认识Spring-2.3 注解装配-@autowired(5)-限定器@Qualifier(2)
- Spring、使用注解方式装配对象(@Resource、@Autowired)
- Spring@Autowired注解与自动装配
- Spring XML配置--使用注解装配(@Atutowired、@Inject、@Resource)
- Spring使用注解装配
- Spring常用注解,自动扫描装配Bean
- Spring 使用注解自动装配
- (笔记)Spring实战_最小化Spring XML配置(2)_使用注解装配
- 【Spring】使用XML和注解装配Bean
- Spring中用@Resource注解完成属性装配
- Java注解机制之Spring自动装配实现原理
- Spring@Autowired注解与自动装配
- 从头认识Spring-2.4 基于java的标准注解装配-@Inject(2)-通过set方法或者其他方法注入