Spring的学习之路(六)的IOC的注解的详细

1 @Component:组件

    ---修饰一个类,将这个类交给Spring管理

    ---这个注解有三个衍生注解(功能类似)

           -------------@Controller :web层

           -------------@Service     :service层

           -------------@Repository:dao层

在Spring4中这三个衍生注解暂时和Component暂时没有区别,和上一篇文章类似,在后续各个衍生类会有自己的特性

2 属性注入的注解

---普通属性:

----------@Value:设置普通属性的值(这个用法见上篇文章)

---对象类型的属性

----------@Autoware(用法如下):他是根据类型注入的不是根据bean的名称注入

这里的UserService接口只有一个方法save

package com.heshihua.spring.demo1;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("userService")
public class UserServiceImpl implements UserService{

	//注入DAO
	@Autowired
	private UserDao userDao;
	public void save() {
		System.out.println("userService 的save方法已经执行了");
		userDao.save();
	}
	
}

运行结果

运行结果中第二行的输出来自于userDao的save方法说明我们成功注入了userDao属性

如果想要根据bean的名称进行注入按照如下方式

在@Autowired的下面加入@Qualifire(value = "bean名称")、

----------@Resource :完成对象类型的属性注入,按照bean名称完成的属性注入,用法如下

这里有的人或许会出现引入resource包出错,可以用maven下载就好了,然后把包引入

3 bean的其他注解

 3.1 生命周期的注解

以下代码有俩种扫描方式

	<!-- <context:component-scan base-package="com.heshihua.spring.demo1,com.heshihua.spring.demo2">
	</context:component-scan> -->
	<context:component-scan base-package="com.heshihua.spring">
	</context:component-scan>

这俩种方式是同一个效果的

生命周期的注解方式

package com.heshihua.spring.demo2;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

import org.springframework.stereotype.Service;

@Service("customerService")
public class CustomerService {//<bean id = "" class = "" destroy-method = "" init-method = ""/>
	@PostConstruct // 相当于init-method
	public void init() {
		System.out.println("CustomerService被初始化了");
	}
	
	public void save() {
		System.out.println("service的sava 方法执行了");
	}
	@PreDestroy //相当于destroy-method
	public void destory() {
		System.out.println("CustomerService被销毁了");
	}
}

初始化和销毁的注解分别加在你创建的方法上面就可以了

3.2bean的作用范围的注解

------scope :作用范围

----------singleton  :单例(默认)

----------prototype  :多例

----------request

----------session

----------globalsession 

这里和xml方式比较类似

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值