1.
Spring Boot提倡零配置,即无xml配置,但是在实际项目中,可能有一些特殊要求你必须使用xml配置,这时候我们可以通过Spring提供的@ImportResource来加载xml配置,例如:
@ImportResource({"classpath:some-context.xml","classpath:another-context.xml"})
2.
在Spring Boot里,我们只需在application.properties定义属性,直接使用@Value注入即可。
application.properties配置:
使用方法:
@RestController @SpringBootApplication public class Springboot01Application { @Value("${book.author}") private String bootAuthor; @Value("${book.name}") private String bookName; @RequestMapping("/") String index(){ return "book name is:"+bookName+"and book author is:"+bootAuthor; } public static void main(String[] args) { SpringApplication.run(Springboot01Application.class, args); } }
打印信息:
3.
上例中使用@Value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通常会是许多个,若使用上例的方式则要使用@Value注入很多次。
Spring Boot还提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全的配置
application.properties:
类型安全的Bean:
package com.bj.ch1.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @Auther: feifei * @Date: 2018/10/19 18:13 * @Description: */ @Component @ConfigurationProperties(prefix = "author") public class AuthorSettings { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
检测代码:
package com.bj; import com.bj.ch1.config.AuthorSettings; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class Springboot01Application { @Autowired private AuthorSettings authorSettings; @RequestMapping("/") String index(){ return "author name is:"+authorSettings.getName()+"and author age is:"+authorSettings.getAge(); } public static void main(String[] args) { SpringApplication.run(Springboot01Application.class, args); } }
效果: