mirror of
https://github.com/wxd-gaming/test-all.git
synced 2026-07-01 23:54:34 +08:00
重构目录
This commit is contained in:
24
spring-test/scripts/src/main/java/scripts/ScriptConfig.java
Normal file
24
spring-test/scripts/src/main/java/scripts/ScriptConfig.java
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
30
spring-test/scripts/src/main/java/scripts/ScriptMain.java
Normal file
30
spring-test/scripts/src/main/java/scripts/ScriptMain.java
Normal 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");
|
||||
}
|
||||
|
||||
}
|
||||
18
spring-test/scripts/src/main/java/scripts/TestApi.java
Normal file
18
spring-test/scripts/src/main/java/scripts/TestApi.java
Normal 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";
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user