ecs模式 java注解_使用spring注解——定义bean和自动注入

对于java bean的定义和依赖配置,使用xml文件真心是不方便。

今天学习如何用注解,解决bean的定义和注入。

常用注解:

1、自动注入:@Resources,@Autowired

2、Bean定义:@Component、@Repository、@Service 和 @Constroller

@Component是个泛化概念,可以用在任何层次。如果是web开发,尽量用@Repository、@Service 和 @Constroller

Demo:

以丁磊养猪为例,Pig和DingLei两个类

1、Pig类,以@Component定义为bean

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

@Componentpublic classPig {privateDouble weight;privateString color;publicPig(){this.weight = 55.8;this.color = "black";

}publicDouble getWeight() {returnweight;

}public voidsetWeight(Double weight) {this.weight =weight;

}publicString getColor() {returncolor;

}public voidsetColor(String color) {this.color =color;

}publicString toString(){return weight + " kg " + color + " pig!";

}

}

View Code

2、DingLei类,以@Component定义为bean,同时用@Autowired注入依赖pig

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

@Componentpublic classDingLei {

@AutowiredprivatePig pig;publicPig getPig() {returnpig;

}public voidsetPig(Pig pig) {this.pig =pig;

}publicString toString(){return "Dinglei has a " +pig.toString();

}

}

View Code

3、bean.xml文件中,配置包扫描,注解才生效

:启用注释驱动自动注入

:对类包进行扫描以实施注释驱动 Bean 定义,同时隐式启用注释驱动自动注入。因此,配置这个就可以

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

View Code

4、测试类

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

public classTestAnotation {

@SuppressWarnings("resource")public static voidmain(String[] arg) {

ApplicationContext context= new ClassPathXmlApplicationContext("bean.xml");

DingLei dingLei= (DingLei) context.getBean("dingLei");

System.out.println( dingLei.toString() );

}

}

View Code

5、运行测试类,可以看到输出。说明注解成功定义bean,并成功完成注入

信息: Loading XML bean definitions from classpath resource [bean.xml]

Dinglei has a55.8 kg black pig!

参考:

谢谢无私分享的伙伴,写的非常详细的一篇:Spring注解详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值