• Ioc注解


    注解:

    添加注解时,需要添加context的相关

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <beans xmlns="http://www.springframework.org/schema/beans" 
    3 xmlns:p="http://www.springframework.org/schema/p"
    4 xmlns:context="http://www.springframework.org/schema/context" 
    5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    6 xsi:schemaLocation="http://www.springframework.org/schema/beans 
    7 http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
    8 http://www.springframework.org/schema/context 
    9 http://www.springframework.org/schema/context/spring-context.xsd ">

    必须添加这个注解扫描

    <!-- 注解扫描 -->
    <context:component-scan base-package="com.bdqn.*">
        
    </context:component-scan>

    如果xml中去掉setter注入和构造方法注入时,那么就会去找注解注入(注解注入的是调用无参构造方法)

    如果xml中设置setter注入时,那么久会去调用setter的方法

    如果xml中设置构造方法注入时,那么就会调用有参的构造方法

    如果@Autowired写在private上面的话

        @Autowired
        private UserDao dao;

    那么这样会先执行无参构造方法后,再执行setter方法

    注意:如果要调用setter方法,就最好写在setter方法的上面

    华丽的分隔符---------------------------------------------------------------------------------------------------------------------------------------------

     1 /**
     2  * 用户DAO实现类,实现UserDao接口,负责User类的持久化操作
     3  */
     4 @Repository("userDaoImpl")
     5 public class UserDaoImpl implements UserDao {
     6 
     7     public void save(User user) {
     8         // 这里并未实现完整的数据库操作,仅为说明问题
     9         System.out.println("保存用户信息到数据库");
    10     }
    11     
    12 }
     1 /**
     2  * 用户实体类
     3  */
     4 @Component("user") 
     5 public class User{
     6     private Integer id; // 用户ID
     7     private String userName; // 用户名
     8     private String password; // 密码
     9     private String email; // 电子邮件
    10 
    11     // getter & setter
    
     1 /**
     2  * 用户业务类,实现对User功能的业务管理
     3  */
     4 @Service("userServiceImpl")
     5 public class UserServiceImpl implements UserService {
     6         
     7     
     8         @Autowired
     9         private UserDao userDao;
    10 
    11         public UserDao getUserDao() {
    12             return userDao;
    13         }
    14 
    15         // userDao 属性的setter访问器,会被Spring调用,实现设值注入
    16         public void setUserDao(UserDao userDao) {
    17             this.userDao = userDao;
    18         }
    19 
    20         public void addNewUser(User user) {
    21             // 调用用户DAO的方法保存用户信息
    22             userDao.save(user);
    23         }
    24 
    25 }

    xml文件加个扫描就好

    <!-- 扫描包中注解标注的类 -->
        <context:component-scan base-package="cn.bdqn.biz" />
  • 相关阅读:
    C# 线程安全的操作控件
    C# 使用HttpListener创建简易Web服务器
    PHP mjpeg 连续图片格式生成
    XAMPP PHP开发环境安装备忘
    dnspod CURL模拟访问
    在MAC上使用Fiddler抓包手机
    解决关于docker: Error response from daemon: endpoint with name v5 already exists in network bridge.
    【电子政务】政务服务事项相关概念知识:事项办理深度 四级标准
    转:脱机环境下window 使用pycharm 连接cx_oracle 连接数据库
    转 shell if判断写成一行 和 shell中如何注释掉一段话
  • 原文地址:https://www.cnblogs.com/xuerong/p/4917477.html
Copyright © 2020-2023  润新知