java基于注解的方式配置,可以减少xml文件的编写,提高开发效率,常用的注解有:
- @Configuration:声明一个类作为配置类,代替xml文件
- @Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签
- @Value:属性注入
- @PropertySource:指定外部属性文件
例:使用java配置来实现连接池的配置
1. 引入Druid连接池的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
2. 创建一个jdbc.properties文件,指定属性,将其放在类路径下
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/cqc
jdbc.username=root
jdbc.password=root
3. 编写配置类
@Configuration //配置类,代替了spring中的xml文件
@PropertySource("classpath:jdbc.properties") //加载属性
public class JdbcConfig {
//通过注解的方式将属性的值从配置文件中得到
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.url}")
String url;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
@Bean //将返回的方法加入Bean容器,代替了<bean>标签,方法的返回值就是要配置的对象
public DataSource dataSource(){
//将对象创建出来,使用set方法设置属性
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource; //返回值就是要配置的对象
}
}
4. 进行测试
给程序打上断点,Debug启动,浏览器访问路径:localhost:8080/hello,测试是否配置成功
运行至该Controller时,可以获取到连接的参数,@Autowried注入成功.