- @PostConstruct
- 作用于方法上 在实例化对象时 自动调用该方法
代码如下
建一个 父类 Dog Cat继承它
package com.example.jddemo.PostConstruct;
import javax.annotation.PostConstruct;
public class Animal {
int type;
public Animal(int type) {
this.type = type;
}
@PostConstruct
public void register() {
Constants.map.put(this.type, this);
System.out.println("===============输出 map 中数据===================");
System.out.println(Constants.map);
}
}
package com.example.jddemo.PostConstruct;
import org.springframework.stereotype.Component;
@Component// 交由 spring管理 实例
public class Dog extends Animal {
public Dog() {
super(2);
}
}
package com.example.jddemo.PostConstruct;
import org.springframework.stereotype.Component;
@Component // 交由 spring管理 实例
public class Cat extends Animal {
public Cat() {
super(3);
}
}
创建Constants 存储 变量Map
package com.example.jddemo.PostConstruct;
import java.util.HashMap;
public class Constants {
static HashMap map = new HashMap();
}
启动 springboot
package com.example.jddemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JdDemoApplication {
public static void main(String[] args) {
SpringApplication.run(JdDemoApplication.class, args);
}
}
查看输出结果