1.xml
在配置文件
bean.xml中,bean标签通过配置属性init-method,可以在执行该bean的时候,首先执行该属性配置的方法,配置属性destroy-method,可以在执行完bean的时候,执行它配置的方法(代码中要显示调用destroy方法)。bean.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="userDAOImpl" class="com.test.dao.impl.UserDAOImpl"></bean> <bean id="userService" class="com.test.service.UserService" init-method="init" destroy-method="destory"> <property name="userDAO"> <ref bean="userDAOImpl" /> </property> </bean> </beans>
UserService.java
package com.test.service; import com.test.dao.UserDAO; import com.test.model.User; public class UserService { private UserDAO userDAO; public void add(User user) { userDAO.save(user); } public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public void init(){ System.out.println("init"); } public void destory(){ System.out.println("destory"); } }
2.annotation
UserDAOImpl.java
package com.test.dao.impl; import org.springframework.stereotype.Component; import com.test.dao.UserDAO; import com.test.model.User; @Component("userDAOImpl") public class UserDAOImpl implements UserDAO { public void save(User user) { System.out.println("user saved!"); } }
UserService.java
package com.test.service; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.test.dao.UserDAO; import com.test.model.User; @Component("userService") public class UserService { private UserDAO userDAO; public void add(User user) { userDAO.save(user); } public UserDAO getUserDAO() { return userDAO; } @Resource(name="userDAOImpl") public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } @PostConstruct public void init(){ System.out.println("init"); } @PreDestroy public void destory(){ System.out.println("destory"); } }
公共junit测试类
UserServiceTest.java
package com.test.service; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.model.User; public class UserServiceTest { @Test public void testAdd() throws Exception { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService service = (UserService) applicationContext.getBean("userService"); User u = new User(); u.setUsername("zhangsan"); u.setPassword("123"); service.add(u); applicationContext.destroy(); } }
相关推荐
在Spring框架中,Bean的范围(Scope)是控制...在实际开发中,选择正确的Bean范围对于优化性能、保证线程安全以及管理对象生命周期至关重要。正确理解和使用Bean范围能够帮助我们构建更加高效和健壮的Spring应用程序。
Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...
5. **生命周期注解**:如`@PostConstruct`和`@PreDestroy`,分别标记在初始化和销毁bean的方法上,使开发者能自定义bean的生命周期行为。 6. **AOP注解**:Spring的面向切面编程(AOP)也支持注解,如`@Aspect`定义...
自Spring 3.0版本起,框架引入了一系列注解来简化依赖配置,使得开发人员能够在不编写冗长XML配置文件的情况下,轻松管理Bean的生命周期和依赖关系。本文旨在深入探讨Spring框架中基于注解的依赖注入机制,特别是`@...
这些注解进一步增强了Spring框架的功能性和灵活性,使得开发者可以根据实际需求更加灵活地管理Bean及其生命周期。 #### 五、具体使用步骤 1. **引入Spring框架**:首先确保项目中已经包含了Spring框架的相关依赖。...
5. **生命周期回调**: - `@PostConstruct` 和 `@PreDestroy` 注解用于标记在 Bean 初始化后和销毁前执行的方法。 6. **自定义注解**: - 用户可以创建自定义注解,并在其上使用 `@Component`,使其具有类似的...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它将对象的创建和管理权交给了Spring容器,从而解耦了应用代码与对象生命周期管理的关系。Annotation注入是Spring IOC的一种实现方式,它利用...
同时,Maven的生命周期可以帮助我们编译、测试、打包和部署应用。 总结起来,这个项目展示了如何在Spring和MyBatis的注解模式下进行数据库操作。通过这种方式,我们可以减少XML配置,使得代码更简洁,同时也易于...
3. **Bean容器**:Spring容器(ApplicationContext 或 BeanFactory)负责管理对象(称为bean)的生命周期,包括初始化、配置、装配以及销毁。容器通过XML、注解或Java配置来读取bean定义。 4. **注解驱动开发...
在Spring中,我们可以使用注解来控制Bean的生命周期。@PostConstruct和@PreDestroy注解分别表示在Bean初始化后和销毁前执行的方法。例如: ```java @Service public class UserService { @PostConstruct public ...
【标题】"csh框架+cxf+spring+hibernate+mysql 注解 annotation xml json" 提到的是一个基于Java技术栈的Web服务开发架构,涵盖了多个关键组件和技术,这些技术在现代企业级应用中广泛应用。以下是这些知识点的详细...
这个标签定义了一个容器,它管理所有Bean的生命周期和依赖注入。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Spring配置文件通常用于管理Bean的生命周期,以及配置数据源、事务管理等。 ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
此外,Maven还提供了多种生命周期和插件,用于编译、测试、打包和部署等任务。 整合这三个框架,开发人员可以构建出高效、模块化的Web应用,其中SpringMVC处理HTTP请求,Spring负责业务逻辑和依赖管理,MyBatis处理...
在Spring框架中,IOC是通过容器来管理对象生命周期的,而Autowired则是Spring2.5中的一种新特性,可以实现快速的自动注入,无需在xml文档里面添加bean的声明,大大减少了xml文档的维护。 使用Autowired可以实现基于...
首先,需要在XML配置文件中启用注解支持,添加`<context:annotation-config/>`标签,这会激活Spring对特定注解的扫描和处理,比如`@Autowired`和`@Resource`: ```xml <beans xmlns="http://...
在Spring框架中,注解(Annotation)自动匹配注入IoC(Inversion of Control,控制反转)是一种关键特性,它极大地简化了Java应用的配置管理。本文将深入探讨这一主题,帮助开发者更好地理解和利用这一功能。 首先...
1. **配置Spring核心容器**:创建`applicationContext.xml`文件来管理Bean的生命周期。 ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...