Spring开发IOC与DI注解细节点

【1】使用@Component注解开发,可以自动推导id名称。主要是根据类的名称来定的。如果名称的第二个字母是小写,则第一个字母也小写,如果名称的第二个字母是大写,则第一个字母不变。当然也可以在@Component注解上指定id值。

【2】加载外部配置文件使用context:property-placeholder

<context:property-placeholder location="hero.properties"/>

【3】使用注解,设置属性值

list对象设置属性值

第一步导入util约束

xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation="http://www.springframework.org/schema/util
 http://www.springframework.org/schema/util/spring-util-4.3.xsd"

第二步在配置文件中写入以下内容

<util:list id="list">
        <value>11</value>
        <value>12</value>
    </util:list>

第三步在类文件中注入属性

@Value("#{@list}")
private List<Integer> lists;

补充:对map对象、set对象与properties对象设置如初一折

<util:set id="set">
        <value>1</value>
    </util:set>

<util:map id="map">
        <entry key="name1" value="c"></entry>
    </util:map>

<util:properties id="pro">
        <prop key="sex">男</prop>
    </util:properties>

在属性前加上@Value("#{@ID}"),其中ID是指配置文件中的id名称

【4】关于Autowried注解工作方式

Autowried注解先按类型注入,寻找当前类型及其子孙类型的bean,如果找到唯一的直接注入,如果没找到或找到多个,则按类型注入失败,开始按id注入。寻找是否存在id等于当前属性名的bean,如果找到就注入,如果找不到就抛出异常

【5】注解与配置文件对应

配置文件备注注解备注
bean注入类文件@Component

@Service         Service注解

@Controller      Web层注解

@Repository     Dao层注解

以上三种注解皆相当于 @Component

 

@Component可以设置value值相当于id值,

如若不设置则通过Spring自动命名方式

properties

注入属性,在bean内部书写

注入集合,映射以及Properties对象

应注意书写方式

注入自定义加载类对象,使用ref进行注入

@Value

在属性上书写,需先书写util约束,书写方式

可以参考【3】的书写方式

@Value("#{@ID}")

@Autowired 在对象属性上书写,注入自定义对象
Scope作用范围@Scope

放在类上,可填写参数,默认为singleton

值可以为 

singleton

prototype

request

session

globalsession

 

init-method对象创建之后执行方法@PostConstruct放在方法上
destroy-method对象销毁之前执行方法@PreDestroy放在方法上
lazy-init设置懒加载,默认为false@Lazy放在方法上,表示修饰的类的bean采用懒加载机制

【6】获取配置文件(.propertires)中的内容

  1. 在applicationContext.xml中开启<context:property-placeholder location="xxx.properties"/>
  2. 在需要的属性上书写@Value("${xxx}"),xxx对应的是properties文件中的key值。

 

 

 


 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值