@Configuration注解
比如有些了类,没有加注解,但是我想让Spring进行管理,比如配置类获取配置文件端口等
- @Configuration标注在类上,相当于把该类作为spring的xml配置文件中的,相当于beans,作用为:配置spring容器(应用上下文)
- @bean注解:用于告诉方法产生一个Bean对象,然后这个Bean对象交给Spring管理,Spring将会将这个Bean对象放在自己的IOC容器中
- 注意点:SpringIOC容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建
Step1:新建AppConfig类
@Configuration
public class AppConfig {
//@Bean注解,表明这个bean交给Spring进行管理,如果没有指定名称,默认采用方法名加第一个字母小写作为bean的名称
//初始化方法和销毁方法在bean中需要先定义好
@Bean(name = "videoOrder",initMethod = "init",destroyMethod = "destroy")
@Scope
public VideoOrder videoOrder(){
return new VideoOrder();
}
}
Step2:测试
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0zZE50djRVT6lleNNTRzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuEzN0ITNzMjM0EjMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
@PropertySource注解
- @PropertySource,指定加载配置文件
- 配置文件映射到实体类
Step1:新建config.properties配置文件
server.host=127.0.0.1
server.port=9090
Step2:新建CustomConfig
使用@Value映射到具体的java属性
@Configuration
//指定获取配置文件信息
@PropertySource(value = {"classpath:config.properties"})
public class CustomConfig {
@Value("${server.host}")
private String host;
@Value("${server.port}")
private int port;
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
}
Step3:实现类方法注入使用
@Service("videoService")
public class VideoServiceImpl implements VideoService {
@Autowired
private CustomConfig customConfig;
public int save(Video video) {
System.out.println(customConfig.getHost());
System.out.println("保存video");
return 1;
}
}
Step4:测试