赞
赏
使用基于注解配置的 Spring IOC,设置对象的范围及生命周期。
搭建 Spring 的开发环境,使用基于注解配置的 Spring IOC,设置对象的范围及生命周期。
pom 文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.haicoder</groupId>
<artifactId>SpringDemo08</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--IOC-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
</dependencies>
</project>
核心配置文件:
<?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.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--自动扫描包-->
<context:component-scan base-package="net.haicoder"/>
</beans>
实体类:
@Component
@Scope("singleton")
@Lazy
public class User {
private Integer id;
private String name;
public User() {
System.out.println("构造方法创建对象");
}
// 初始化方法
@PostConstruct
public void init(){
System.out.println("对象初始化");
}
// 销毁方法
@PreDestroy
public void preDestroy(){
System.out.println("对象销毁");
}
}
测试类:
public class DemoTest {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
ClassPathXmlApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) cxt.getBean("user");
System.out.println("对象:" + user);
// 关闭IOC容器
cxt.close();
}
}
运行结果如下:
以上案例使用基于注解配置的 Spring IOC,设置对象的范围及生命周期。