spring_spring注解资源@Resource、组件注解@Component

深碍√TFBOYSˉ_ 2022-06-15 03:54 315阅读 0赞
  1. @Resource(重要)
  2. a>默认按名称,名称找不到,按类型
  3. b>可以指定特定名称
  4. c>推荐使用
  5. d>不足:如果没有源码,就无法运用annotation,只能使用xml
  6. @Componert
  7. a>初如化的名字默认为类名首字母小写
  8. b>可以指定初始化bean的名字

@Resource

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://www.springframework.org/schema/context
  7. http://www.springframework.org/schema/context/spring-context.xsd">
  8. <context:annotation-config />
  9. <bean id="userDaoImpl" class="com.bjsxd.dao.impl.UserDaoImpl">
  10. </bean>
  11. <bean id="userDaoImpl2" class="com.bjsxd.dao.impl.UserDaoImpl">
  12. </bean>
  13. <bean id="userService" class="com.bjsxd.service.UserService">
  14. </bean>
  15. </beans>

对set方法进行注入

  1. package com.bjsxd.service;
  2. import javax.annotation.Resource;
  3. import com.bjsxd.dao.UserDao;
  4. import com.bjsxd.model.User;
  5. public class UserService {
  6. private UserDao userDao;
  7. public UserDao getUserDao() {
  8. return userDao;
  9. }
  10. @Resource(name="userDaoImpl2")
  11. public void setUserDao(UserDao userDao) {
  12. this.userDao = userDao;
  13. }
  14. public void add(User user) {
  15. userDao.save(user);
  16. }
  17. }

@Component

自动扫描注入

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://www.springframework.org/schema/context
  7. http://www.springframework.org/schema/context/spring-context.xsd">
  8. <context:annotation-config />
  9. <context:component-scan base-package="com.bjsxt" />
  10. </beans>
  11. package com.bjsxt.dao.impl;
  12. import org.springframework.stereotype.Component;
  13. import com.bjsxt.dao.UserDao;
  14. import com.bjsxt.model.User;
  15. @Component("userDaoImpl")
  16. public class UserDaoImpl implements UserDao{
  17. @Override
  18. public void save(User user) {
  19. System.out.println("user save!");
  20. }
  21. }
  22. package com.bjsxt.service;
  23. import javax.annotation.Resource;
  24. import org.springframework.stereotype.Component;
  25. import com.bjsxt.dao.UserDao;
  26. import com.bjsxt.model.User;
  27. @Component("userService")
  28. public class UserService {
  29. private UserDao userDao;
  30. public UserDao getUserDao() {
  31. return userDao;
  32. }
  33. @Resource(name="userDaoImpl")
  34. public void setUserDao(UserDao userDao) {
  35. this.userDao = userDao;
  36. }
  37. public void add(User user) {
  38. userDao.save(user);
  39. }
  40. }

发表评论

表情:
评论列表 (有 0 条评论,315人围观)

还没有评论,来说两句吧...

相关阅读