创建了主类 Main、classInjectionContext
和 class Vk Bot
。试图通过注入来控制类不会导致任何事情。没有错误,但也没有消息输出。请告诉我我的错误是什么?
package reversbot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
@SpringBootApplication
public class Main {
public static void main(String... args) {
ApplicationContext context = new AnnotationConfigApplicationContext (InjectionContext.class);
}
}
package reversbot;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import reversbot.injectioncontext.VkBot;
import javax.annotation.PostConstruct;
@Configuration
public class InjectionContext {
@Bean
public VkBot vkBot() {
return new VkBot();
}
}
package reversbot.injectioncontext;
import org.springframework.stereotype.Service;
@Service
public class VkBot {
public static void hello(){
System.out.println("Hello BOSS!!!!");
}
}
plugins {
id 'org.springframework.boot' version '2.7.2'
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
id 'java'
}
group = 'ReversBot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '18'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
春天做的一切都是正确的。
什么都没有发生,因为你什么都不做。
从某种意义上说,您不调用任何东西。
是的,你创建了一个 bean
VkBot
……但它什么也没做!
显然你正在等待它输出到控制台
Hello BOSS!!!!
,但它不会这样做,因为你没有调用这个方法(我说的是方法hello()
)。一般是静态方法!
如果您希望 bean 在创建时输出到控制台
Hello BOSS!!!!
,请将此代码移动到构造函数或初始化方法。一切都开始浮出水面