`@Autowired private Test_bbs test;
@RequestMapping("/test")
public void test( ) {
怎么运行 Test_bbs 的构造方法啊;
}`
@Service public class Test_bbs{ public Test_bbs(){ System.out.println("运行到我了 "); } }
1
qping 2020-07-09 08:58:52 +08:00
构造方法 new 的时候会调用,spring 启动时候会先构建 Test_bbs 对象
|
3
optional 2020-07-09 09:07:53 +08:00
|
5
qping 2020-07-09 09:16:24 +08:00
|
6
cxshun 2020-07-09 09:18:09 +08:00
默认情况下,`spring`是使用无参构造函数初始化类的。如果你希望调用有参的构造函数,那么就类似`@optional`兄弟说的在构造函数上面加`@PostConstruct`,这个在网上找找就可以了。
|
7
ixx 2020-07-09 11:37:09 +08:00 1
```java
@Service public class Test_bbs{ @PostConstruct public Test_bbs(){ System.out.println("运行到我了 "); } } ``` 这样就可以初始化了 |
8
bushiren OP |
10
cxshun 2020-07-09 14:53:18 +08:00
|
13
ixx 2020-07-09 15:30:38 +08:00
@bushiren #11
spring 管理的 bean 一般在容器初始化的时候就生成实例了 你注入的时候已经有实例了 如果你想在他实例化的时候指定值 哪直接在写死就行 或者放配置文件里读取 |
14
limuyan44 2020-07-09 15:49:01 +08:00
学习 spring 还是建议从基础开始学起,不然以后坑的是自己。
|
15
heyjim75111 2020-07-10 09:02:48 +08:00
对我来说, 要么参数是在配置文件中,使用 @Value 注入, 要么 另外加 set 接口设进去
|
16
fivesmallq 2020-07-10 11:14:21 +08:00
使用 ApplicationContext 的方法获取 bean,context.getBean(clazz,args); SpringContextHolder.getBean(XXX.class, arg1, arg2);
|