重构目录

This commit is contained in:
wuxin
2024-02-18 21:38:11 +08:00
parent 776f8e7bde
commit 3adf0486fe
339 changed files with 83 additions and 224 deletions

View File

@@ -0,0 +1,24 @@
package scripts;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
@Configuration
public class ScriptConfig {
@Bean
public ServletRegistrationBean resourceServlet(ApplicationContext applicationContext) {
DispatcherServlet dispatcherServlet = new DispatcherServlet();
dispatcherServlet.setApplicationContext(applicationContext);
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(dispatcherServlet);
//指定urlmapping
servletRegistrationBean.addUrlMappings("/test");
servletRegistrationBean.setLoadOnStartup(1);
servletRegistrationBean.setName("resource");
return servletRegistrationBean;
}
}

View File

@@ -0,0 +1,30 @@
package scripts;
import org.example.HelloController;
import org.example.Main;
import org.slf4j.LoggerFactory;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.Map;
public class ScriptMain {
static AnnotationConfigApplicationContext childContainer;
public static void scriptInit(ConfigurableApplicationContext context) {
//子容器
childContainer = new AnnotationConfigApplicationContext("scripts");
childContainer.setParent(context);
childContainer.setApplicationStartup(context.getApplicationStartup());
//从子容器中获取父容器中的Bean
HelloController parentService = childContainer.getBean(HelloController.class);
LoggerFactory.getLogger(Main.class).info("{}", parentService);
//getBeansOfType无法获取到父容器中的Bean
Map<String, TestApi> map = childContainer.getBeansOfType(TestApi.class);
map.forEach((k, v) -> LoggerFactory.getLogger(Main.class).info("{} => {}", k, v));
System.out.println("http://127.0.0.1:18081/test");
}
}

View File

@@ -0,0 +1,18 @@
package scripts;
import org.example.HelloController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestApi {
@Autowired HelloController helloController;
@RequestMapping(value = "/test")
public String test() {
return "ok";
}
}