1. 程式人生 > >spring框架學習-註解

spring框架學習-註解

spring註解裝配bean

@Component 描述Spring框架中Bean

Spring的框架中提供了與@Component註解等效的三個註解:

@Repository 用於對DAO實現類進行標註

@Service 用於對Service實現類進行標註

@Controller 用於對Controller實現類進行標註

注:目前版本中在mvc模式中使用以上三個和全部使用Component的效果是一樣的

bean的屬性注入

1.普遍屬性

@Value(value="itcast")

private String info;

物件屬性

@Autowired

@Qualifier("userDao")       

private UserDao userDao;

等價於

@Resource(name="userDao")

private UserDao userDao;

注:如果只是單獨使用@Autowired表示的是型別注入

一個例項

dao層

@Repository("EmpDaoImpl")
public class EmpDaoImpl {
	
}

service層 

import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cn.hifits.spring.dao.EmpDaoImpl;
@Service(value="EmpServiceImpl")
public class EmpServiceImpl {
	@Resource(name="EmpDaoImpl")
	private EmpDaoImpl dao;

	@Override
	public String toString() {
		return "EmpServiceImpl [dao=" + dao + "]";
	}

}

xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
	<!-- 在xml和註解混合使用時,需要使用   純註解可以省略 -->
	<context:annotation-config></context:annotation-config>
	<!-- 開啟註解掃描 -->
	<context:component-scan base-package="cn.hifits.spring"></context:component-scan>
</beans>

注:註解方式xml約束增加了xmlns:context="http://www.springframework.org/schema/context"

測試類

	@Test
public void demo1(){
        ApplicationContext applicationcontext
=new ClassPathXmlApplicationContext("applicationContext.xml");
		EmpServiceImpl ser
=(EmpServiceImpl)applicationcontext.getBean(EmpServiceImpl.class);
		System.out.println(ser);
	}