作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在运行 Spring 设置,但我没有看到任何 XML 配置文件,似乎一切都是通过注释完成的。
我在特定的包中有一些自定义组件类,我需要将其添加到 spring 上下文中以进行 Autowiring ,并且我用 @Component 注释了该类,但这没有什么区别。我是否缺少另一个注释?
我有一个循环,我需要进行组件扫描以发现包中的所有类,也许我可以将它们添加到那里,因为我已经对它们有了 BeanDefinition 句柄。如果是这样,我该怎么办?
for (BeanDefinition bd : scanner.findCandidateComponents("com.blah.target")) {
// how to add it to context here?
}
最佳答案
如果您没有看到任何 XML 配置文件,则该项目应该有一个 springconfig 包,其中包含一个名为 WebConfig.java 的 java 文件。这与 XML 配置文件完全相同。
下面是典型 Webconfig.java 的片段
package .....springconfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
<...>
@Configuration
@EnableWebMvc
@ComponentScan(basePackages="<your source package>")
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
String dir="/resources/";
registry.addResourceHandler("/images/**").addResourceLocations(dir + "images/");
...
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/view/");
resolver.setSuffix(".jsp");
return resolver;
}
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSize(100);
return resolver;
}
}
查看本教程:Simple Spring MVC Web Application这里解释得非常好。
关于java - 如何将我的类包含到 Spring 上下文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901775/
我是一名优秀的程序员,十分优秀!