spring框架學習-註解
阿新 • • 發佈:2019-01-24
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);
}