• 基于Xml方式Bean的配置-初始化方法和销毁方法


    SpringBean的配置详解

    • Bean的初始化和销毁方法配置
      • Bean在被实例化后,可以执行指定的初始化方法完成一些初始化的操作,Bean在销毁之前也可以执行指定的销毁方法完成一些操作,初始化方法名称和销毁方法名称通过
          1. "userService" name="aaa,bbb" class="com.example.Service.Impl.UserServiceImpl" init-method="init"
          2. destroy-method="destroy">
        • 指定的方法名于自己创建的方法名一致即可

            1. package com.example.Service.Impl;
            2. import com.example.DAO.UserDAO;
            3. import com.example.Service.UserService;
            4. public class UserServiceImpl implements UserService {
            5. public void init() {
            6. System.out.println("初始化方法");
            7. }
            8. public void destroy() {
            9. System.out.println("销毁方法");
            10. }
            11. public UserServiceImpl() {
            12. System.out.println("UserServiceImpl实例化");
            13. }
            14. private UserDAO userDAO;
            15. public void setUserDAO(UserDAO userDAO) {
            16. }
            17. }
        • 测试类

            1. package com.example.Test;
            2. import org.springframework.context.ApplicationContext;
            3. import org.springframework.context.support.ClassPathXmlApplicationContext;
            4. public class TestApplicationContext {
            5. public static void main(String[] args) {
            6. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
            7. Object userService1 = context.getBean("userService");
            8. System.out.println(userService1);
            9. context.close();
            10. }
            11. }
        • 运行结果如下


    拓展 

    • 我们还可以通过实现InitializingBean接口,完成bean的初始化操作
        1. package com.example.Service.Impl;
        2. import com.example.DAO.UserDAO;
        3. import com.example.Service.UserService;
        4. import org.springframework.beans.factory.InitializingBean;
        5. public class UserServiceImpl implements UserService, InitializingBean {
        6. public void init() {
        7. System.out.println("初始化方法");
        8. }
        9. public void destroy() {
        10. System.out.println("销毁方法");
        11. }
        12. public UserServiceImpl() {
        13. System.out.println("UserServiceImpl实例化");
        14. }
        15. private UserDAO userDAO;
        16. public void setUserDAO(UserDAO userDAO) {
        17. }
        18. // todo 执行时机早于init-method方法
        19. @Override
        20. public void afterPropertiesSet() throws Exception {
        21. System.out.println("InitializingBean.....");
        22. }
        23. }
      • 测试类运行结果如下

  • 相关阅读:
    js刷题常用基础函数&常用快捷键
    saltstack运维工具包salt-api代码记录
    VMware启用共享文件夹
    2024程序员常用的几种算法
    vscode+makefile开发STM32(二)---下载
    2022杭电多校五_1004
    PCL点云滤波处理D435i深度图用于octomap
    如何实现人机界面与多台plc之间无线通讯?
    c++程序内存区域划分
    为虚拟化环境带来更强I/O性能!SR-IOV技术简介
  • 原文地址:https://blog.csdn.net/weixin_64939936/article/details/132952824