Spring Boot 荐使用 Java 来完成相关的配置工作。在项目中,不建议将所有的配置放在一个配置类中,可以根据不同的需求提供不同的配置类, 例如专门处理 Spring Security 的配置类、提供 Bean 的配置类、 Spring MVC 相关的配置类。 这些配置类上都需要添加上 @Configuration
注解,@ComponentScan
注解会扫描所有的 Spring 组件,也包括@Configuration
。@ComponentScan
注解在项目入口类的@SpringBootApplication
注解中已经提供, 因此在实际项目中只需要按需提供相置类即可。
Spring Boot 中并不推荐使用 XML 配置,建议尽量用 Java 配置代替 XML 配置。 如果开发者需要使用 XML 配置,只需在 resources 目录下提供配置文件,然后通过@ImportResource
加载配置文件即可。例如:
public class Hello {
public String sayHello(String name) {
return "hello" + name;
}
}
在 resources 目录下新建 be ns.xml 文件配置该类:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="com.weigang.config.test.Hello" id="hello"/>
</beans>
然后创建 Beans 配置类,导入 XML 配置。
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource("classpath:beans.xml")
public class Beans {
}
最后在 Controller 可以直接导入 Hello 类使用了:
@RestController
public class HelloController {
@Resource
Hello hello;
@GetMapping("sayHello")
public String sayHello() {
return hello.sayHello("-------->");
}
}