Spring中bean的初始化和销毁之前的方法XML和注解的两种形式

简介:

XML形式

package cn.xy;

public class StudentServiceImpl
{
 private StudentDao studentDao;

 public void init()
 {
  System.out.println("正在执行初始化的init方法");
 }

 public void save(Student s)
 {
  studentDao.insert(s);
 }
 
 
 public void destory()
 {
  System.out.println("正在执行销毁之前的destory方法");
 }

 public StudentDao getStudentDao()
 {
  return studentDao;
 }

 public void setStudentDao(StudentDao studentDao)
 {
  this.studentDao = studentDao;
 }

}

<bean id="studentDao" class="cn.xy.StudentDao" />
<bean id="studentService" class="cn.xy.StudentServiceImpl" init-method="init" destory-method="destory">
 <property name="studentDao" ref="studentDao">
</bean>

 

 

注解形式

package cn.xy;

public class StudentServiceImpl
{
        
 private StudentDao studentDao;

 @PostConstruct
 public void init()
 {
  System.out.println("正在执行初始化的init方法");
 }

 public void save(Student s)
 {
  studentDao.insert(s);
 }
 
 @PreDestory
 public void destory()
 {
  System.out.println("正在执行销毁之前的destory方法");
 }

 public StudentDao getStudentDao()
 {
  return studentDao;
 }

 @Resource
 public void setStudentDao(StudentDao studentDao)
 {
  this.studentDao = studentDao;
 }

}

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/982994如需转载请自行联系原作者


woshixuye111

相关文章
|
4天前
|
缓存 Java Spring
实战指南:四种调整 Spring Bean 初始化顺序的方案
本文探讨了如何调整 Spring Boot 中 Bean 的初始化顺序,以满足业务需求。文章通过四种方案进行了详细分析: 1. **方案一 (@Order)**:通过 `@Order` 注解设置 Bean 的初始化顺序,但发现 `@PostConstruct` 会影响顺序。 2. **方案二 (SmartInitializingSingleton)**:在所有单例 Bean 初始化后执行额外的初始化工作,但无法精确控制特定 Bean 的顺序。 3. **方案三 (@DependsOn)**:通过 `@DependsOn` 注解指定 Bean 之间的依赖关系,成功实现顺序控制,但耦合性较高。
实战指南:四种调整 Spring Bean 初始化顺序的方案
|
8天前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
29 4
SpringBoot必须掌握的常用注解!
|
10天前
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
45 2
|
10天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
27 1
|
12天前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
18 1
|
13天前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
24 1
|
18天前
|
存储 安全 Java
|
1天前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
8 0
|
4天前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
8 0
|
10天前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
16 0
下一篇
无影云桌面