1.导入Bean的方式
1.1类上加@Service、@Component等注解
1.2@Import注解导入
@SpringBootApplication
@Import(DemoUtil.class)
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
1.3@ImportResource注解导入
@SpringBootApplication
@ImportResource("classpath:applicationContext.xml")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
classpath:applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<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 id="demoUtil" class="com.example.demo.utils.DemoUtil">
</bean>
</beans>
1.4使用@Configuration、@Bean注解
@Configuration
public class DemoConfig {
@Bean
public DemoUtil demoUtil() {
return new DemoUtil();
}
}
1.5使用@Autowired注解注入即可使用
@Autowired
private DemoUtil demoUtil;
2.导入Resource的方式
2.1配置文件application.yml中的配置,使用@Value获取
@Service
public class DemoServiceImpl implements DemoService {
@Value("${spring.profiles.active}")
private String active;
@Override
public String test() {
return active;
}
}
2.2配置文件application.yml中的配置,使用@ConfigurationProperties映射到配置类,适用于系列配置且配置较多的情况
@Configuration
@ConfigurationProperties(prefix = "spring.profiles")
public class DemoConfig {
private String active;
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
}
@Service
public class DemoServiceImpl implements DemoService {
@Autowired
private DemoConfig demoConfig;
@Override
public String test() {
return demoConfig.getActive();
}
}
2.3使用@PropertySource导入其它配置文件,则可以使用以上两种方式获取值
@SpringBootApplication
@PropertySource(value = {"classpath:demo.properties"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}