package com.myapp.core.annotation.init; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @Service public class PersonService { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @PostConstruct public void init(){ System.out.println("I'm init method using @PostConstrut...."+message); } @PreDestroy public void dostory(){ System.out.println("I'm destory method using @PreDestroy....."+message); } }
spring xml 配置文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- <context:component-scan base-package="com.myapp.core.jsr330"/> --> <context:annotation-config /> </beans>
测试类:
package com.myapp.core.annotation.init; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainTest { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("resource/annotation.xml"); PersonService personService = (PersonService)context.getBean("personService"); personService.dostory(); } }
相关推荐
5. **生命周期注解**:如`@PostConstruct`和`@PreDestroy`,分别标记在初始化和销毁bean的方法上,使开发者能自定义bean的生命周期行为。 6. **AOP注解**:Spring的面向切面编程(AOP)也支持注解,如`@Aspect`定义...
- `@PostConstruct`和`@PreDestroy`: 分别表示在bean初始化后和销毁前执行的方法。 - `@Profile`: 根据指定的环境或配置激活bean。 5. **Spring测试注解** - `@RunWith(SpringRunner.class)`: 使用Spring JUnit...
在整个生命周期中,Spring提供了多种方式来实现Bean的初始化,例如使用init-method参数、InitializingBean接口等。 二、Bean的作用域 Bean的作用域是指Bean的生命周期和可用性。Spring框架提供了多种作用域,例如 ...
- `@PostConstruct` 和 `@PreDestroy` 注解用于标记在 Bean 初始化后和销毁前执行的方法。 6. **自定义注解**: - 用户可以创建自定义注解,并在其上使用 `@Component`,使其具有类似的功能。但这并不常见,因为 ...
- **@PostConstruct** 和 **@PreDestroy**:标记初始化和销毁方法,Spring会在Bean创建后和销毁前调用这些方法。 在`spring_autozp_demo`压缩包中,可能包含了一个Spring应用的示例代码,演示了如何使用上述注解和...
`@PostConstruct`和`@PreDestroy`注解分别标记初始化和销毁方法,Spring会在Bean初始化后和销毁前调用这些方法。 12. **Spring Boot与注解** Spring Boot简化了Spring应用的启动和配置,它默认集成了许多常用功能...
Spring 提供了多种不同的方式来初始化和销毁 Bean,这些方式包括 init-method/destroy-method、InitializingBean/DisposableBean、@PostConstruct/@PreDestroy 和 ContextStartedEvent/ContextClosedEvent 等。...
学习Spring IOC Annotation注入,首先需要理解Bean的生命周期,包括初始化、使用和销毁的过程。然后,通过编写带有注解的类,创建Bean定义,并让Spring容器管理这些Bean。容器会在适当的时间调用`@PostConstruct`...
使用`@Service`注解的类会被Spring容器识别为一个Bean,但默认不会执行任何初始化或销毁操作。 若要添加初始化和销毁逻辑,我们可以使用`@PostConstruct`和`@PreDestroy`这两个JSR-250注解。`@PostConstruct`标注的...
6. `@PostConstruct` 和 `@PreDestroy`:分别表示在bean初始化后和销毁前执行的方法。 7. `@RequestMapping`(Spring MVC部分):用于处理HTTP请求,可以与方法参数结合使用,如`@RequestParam`、`@PathVariable`等...
7. `@PostConstruct`和`@PreDestroy`:这两个注解标记的方法会在bean初始化后和销毁前执行,提供了生命周期管理。 使用注解的优点包括减少XML配置、提高代码可读性和可维护性、以及更灵活的依赖管理。然而,过度...
Spring还提供了一系列其他注解,如`@Repository`(用于数据访问层)、`@Value`(注入值)、`@Scope`(指定Bean的作用域)、`@PostConstruct`和`@PreDestroy`(标记初始化和销毁方法)等,它们共同构建了一个强大的...
在这个过程中,我们有时需要在Bean被创建后立即执行某些操作,或者在Bean销毁前进行清理工作。Spring提供了多种方式来指定这些初始化和销毁的方法。本文将详细讨论在Spring中使用`@PostConstruct`和`@PreDestroy`...
@PostConstruct和@PreDestroy注解分别表示在Bean初始化后和销毁前执行的方法。例如: ```java @Service public class UserService { @PostConstruct public void init() { System.out.println("UserService 初始...
- `@PostConstruct`:确保初始化操作在依赖注入完成后进行。 - `@PreDestroy`:确保在容器销毁之前能够清理资源。 - **示例**: ```java @Component public class LifeCycleBean { @PostConstruct public ...
6. `@PostConstruct`和`@PreDestroy`: 分别标记初始化方法和销毁方法,在Bean生命周期的特定时刻执行。 7. `@RequestMapping`, `@GetMapping`, `@PostMapping`等:在控制器类中,这些注解用于处理HTTP请求,映射URL...
- **依赖查找和注入**:在Bean初始化过程中,Spring会根据注解信息自动查找并注入所需的依赖。 ### 总结 Spring框架通过其强大的依赖注入机制,极大地简化了Java应用的开发和维护工作。基于注解的依赖注入不仅提高...
在Spring框架中,Bean的生命周期分为四个阶段:实例化、依赖注入、初始化和销毁。在实例化阶段,Spring框架会创建Bean的实例,并通过依赖注入将其依赖的对象注入。在初始化阶段,Spring框架会调用Bean的初始化方法,...
此外,JSR-250还定义了`@PostConstruct`和`@PreDestroy`两个生命周期注解,分别用于标记Bean初始化完成后执行的方法和Bean销毁前执行的方法。 为了使JSR-250注解生效,同样需要在Spring容器中声明`...
Spring容器还负责bean的初始化和销毁。可以通过`@PostConstruct`和`@PreDestroy`注解标记初始化和销毁方法。此外,还可以自定义bean的生命周期行为,例如实现`InitializingBean`和`DisposableBean`接口,或者使用`@...