首页 > 其他分享 >03 Spring生命周期

03 Spring生命周期

时间:2023-04-29 23:04:07浏览次数:41  
标签:03 生命周期 Spring void System say println public out



文章目录

  • 1 方式1标签属性配置
  • 1.1 在目标类中添加初始化、销毁方法[init(),destroy()]
  • 1.2 在spring配置文件中对应的bean中添加属性
  • 2 通过spring接口方式
  • 在目标类中实现接口,InitializingBean和DisposableBean两接口
  • 3 关闭容器的两种操作
  • 3.1 使用close()方法
  • 3.2 使用钩子函数:registerShutdownHook()
  • 结尾彩蛋



1 方式1标签属性配置

1.1 在目标类中添加初始化、销毁方法[init(),destroy()]

public class BookDao implements com.zinksl.dao.BookDao {
    public void say() {
        System.out.println("BookDao say hello!");
    }
//    添加初始化方法
    public void  init(){
        System.out.println("这里是初始化方法!");
    }
    public void destroy(){
        System.out.println("这里是销毁前方法");
    }
//    添加销毁方法
}

1.2 在spring配置文件中对应的bean中添加属性

在bean中添加init-method和destroy-method属性,并指定类中方法

2 通过spring接口方式

在目标类中实现接口,InitializingBean和DisposableBean两接口

public class BookService implements com.zinksl.service.BookService, InitializingBean, DisposableBean {
private BookDao bookDao ;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void say() {
        bookDao.say();
        System.out.println("BookService say hello!");
    }

    public void destroy() throws Exception {
        System.out.println("这里是BookService销毁前方法");
    }

    public void afterPropertiesSet() throws Exception {
        System.out.println("这里是BookService初始化方法");
    }
}

3 关闭容器的两种操作

3.1 使用close()方法

close方法比较简单粗暴,调用就直接关闭容器

3.2 使用钩子函数:registerShutdownHook()

关闭钩子:registerShutdownHook,代表如果要关虚拟机需要先关容器

标签:03,生命周期,Spring,void,System,say,println,public,out
From: https://blog.51cto.com/u_15574648/6237169

相关文章

  • Spring 的 IoC(控制反转)
    IoC是InversionofControl的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,也是一个概念,同时是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。在这里说IoC之前,你需要完全理解一个概念DI(依赖注入)。 当你理解依赖注入以后,对控制反转就非常简......
  • Spring Security 报:Encoded password does not look like BCrypt
    SpringBoot集成Security时,报EncodedpassworddoesnotlooklikeBCrypt原因:SecurityConfig必须Bean的形式实例化/***配置用户身份的configure()方法**@paramauth*@throwsException*/@Overrideprotectedvoidconfigure(AuthenticationManagerBuilderau......
  • SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用
    三、第二种方式(推荐)这种方式是小编比较推荐的,虽然看似比​​@Value​​麻烦不少,但是更加的规范,在配合nacos的时候也可以动态的修改,会立即生效,一会小编带大家试一下哈!!为什么推荐这种方式呢,是因为spring他们都是使用这种方式进行配置的,所以跟着官方走不会有错的!!1.修改yml文件我们......
  • 03、信息风险评估
    风险评估的最终目标是使组织管理人员能够确定适当的安全预算,并在该预算范围内实施安全控制以优化保护级别。这一目标,可以通过定量风险分析或定性风险分析以及其他风险分析方法进行。在风险评估过程中如果规模过大、过分强调量化评估,项目回变得庞大、复杂且难以进行审查,并且还可能......
  • SpringCloud学习笔记
    Eureka基本知识Eureka主要学习的是微服务的一些基本概念之类的,至于具体的操作其实都是在配置appolication.yml文件了,多看文档以及自己写过的demo就懂了。Eureka在微服务中承担的角色有三个,一个是注册中心server,一个是服务供给方porvider,以及接受用户请求的consumer,如果从启动类......
  • SpringMVC使用注解开发
    1.编写web.xml(模板代码)ViewCode2.导入springmvc的context和mvc两个依赖,通过context标签可以自动扫描识别包"com.lian.controller"下的所有注解,两个mvc标签是默认配置;context和mvc分别替代了之前的处理器映射器HandleMapper和处理器适配器HandlerAdapter;视图解析器拼接要要跳转......
  • c语言报错 [Error] invalid initialization of non-const reference of type 'LinkQue
     进行地址传递是出现报错临时值不能作为非常量引用参数进行传递所以需要在main函数中·重新定义指针传递 ......
  • springmvc 拦截器
    自定义一个拦截器LoginInterceptor这个拦截器的作用就是用户首次要去访问网站,直接点击首页会被拦截并跳转到登录页面,登录成功后(session有记录)方可直接来到首页不被拦截测试1:题目:用户在首次访问前提下,需设置拦截器,使得用户只要登录了才能到达用户主页思路:首先要优化一下首页inde......
  • matlab出现函数或变量'fun1'无法识别出错fmincon(line 562)
    函数或变量'fun1'无法识别出错fmincon(line562)原因有两个1.函数名要与函数文件名相同如这里我的函数名是fun1,那么这个文件也要命名为fun12.路径出现了问题通常情况下matlab运行的时候是在C盘对应的bin目录下,但是我保存的这些代码文件并不是再C盘而是在D盘所以我们要进行手......
  • fatal: couldn't find remote ref master问题的解决
    问题描述在写入决定合并并不相关的分支的代码之后,就又出现了这个报错,就很离谱,麻了呀家人们!问题解决gitpulloriginmaster--allow-unrelated-histories,这个命令执行错误,是因为,我这里的分支名称不叫作master,叫做main旧版默认为master;新版改成main啦!各位注意嘞!......