Spring :bean管理的常用注解

A…@Component注解

作用: 把资源让spring来管理。相当于在xml中配置一个bean。 属性:
value:指定bean的id。如果不指定value属性,默认bean的id是当前类的类名。首字母小写。

2…@Controller @Service @Repository
三个注解都是针对一个的衍生注解,他们的作用及属性都是一模一样的。

@Controller:一般用于表现层的注解。
@Service:一般用于业务层的注解。
@Repository:一般用于持久层的注解。

B…注入数据
相当于:

<property name= ref="">
<property name= value="">

1.@Value
作用:
注入基本数据类型和String类型数据的
属性:
value:用于指定值
2.@Autowired(重点)
作用:

自动按照类型注入。当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容器查找,找到了也可以注入成功。找不到就报错。

@Service("userService")
public class UserServiceImpl implements UserService{
	
	@Value("张三")
	private String name;
	
	@Autowired
	private UserDao userDao;


	@Override
	public void save() {
		System.out.println("业务层:用户保存");
		System.out.println("用户名:" + name);
		userDao.save();
	}

}

3 .@Qualifer

作用:
在自动按照类型注入的基础之上,再按照Bean的id注入。它在给字段注入时不能独立使用,必须和@Autowire一起使用;但是给方法参数注入时,可以独立使用。
属性: value:指定bean的id。

public class UserServiceImpl implements UserService {
	@Autowired
	@Qualifier("userDao2")
	private UserDao userDao;
	@Override
	public void save() {
		System.out.println("业务层:用户保存");
		userDao.save();
	}

}

4.@Resource

作用: 直接按照Bean的id注入。它也只能注入其他bean类型。 属性: name:指定bean的id。

	//@Autowired
//	@Qualifier("userDao2")
	@Resource(name="userDao2")
	private UserDao userDao;

5…@Scope

作用: 指定bean的作用范围。 属性: value:指定范围的值。
取值:singleton prototype request session globalsession

@Scope("prototype")
public class UserServiceImpl implements UserService{
	
	@Value("张三")
	private String name;
	
//	@Autowired
//	@Qualifier("userDao2")
	@Resource(name="userDao2")
	private UserDao userDao;


	@Override
	public void save() {
		System.out.println("业务层:用户保存");
		System.out.println("用户名:" + name);
		userDao.save();
	}

}

6…@PostConstruct注解
@PostConstruct加在方法上,指定bean对象创建好之后,调用该方法初始化对象,类似于xml的init-method方法

@PostConstruct
	public void init(){
		System.out.println("调用了init方法");
	}

7…@PreDestory注解

@PreDestory加在方法上,指定bean销毁之前,调用该方法,类似于xml的destory-method方法

	@PostConstruct
	public void init(){
		System.out.println("调用了init方法");
	}

C .XML和注解的比较

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tangiwang/article/details/83382379