您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
14-Spring注解开发-新注解详解(全注解类代替Spring Config的xml配置文件)
发布时间:2024-12-23 20:28:48编辑:雪饮阅读()
-
前番已经实现了Spring Config配置文件xml中的一些配置的替换。
现在剩下的主要有4个,一个是加载Properties文件,一个是定义数据源,一个是组件扫描,一个是导入import。
那么这次把剩下的这4个也完成。
@Configuration标志该类是Spring的核心配置类(代替Spring Config那个xml配置文件)
@ComponentScan("com.wzgy")
相当于包扫描
<context:component-scan base-package="com.wzgy" />
@PropertySource("classpath:jdbc.properties")
类似代替SpringConfig xml文件中的
<context:property-placeholder location="jdbc.properties"/>
类似于替代Spring Config配置文件中的
<import resource="applicationContext-User.xml" />
import支持多个,如
@Import({a.class,b.class})
@Bean("dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://192.168.217.132/mybatis");
dataSource.setUser("root");
dataSource.setPassword("1448169a3cb137d7");
return dataSource;
}
类似于代替
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
所以最终,我们首先建立一个核心配置类代替原本的核心配置Spring Config配置文件
package com.config;
import org.springframework.context.annotation.*;
//@Configuration标志该类是Spring的核心配置类(代替Spring Config那个xml配置文件)
@Configuration
@ComponentScan("com.wzgy")
/*
@ComponentScan("com.wzgy")
相当于包扫描
<context:component-scan base-package="com.wzgy" />
* */
@PropertySource("classpath:jdbc.properties")
/*
@PropertySource("classpath:jdbc.properties")
类似代替SpringConfig xml文件中的
<context:property-placeholder location="jdbc.properties"/>
* */
@Import({DataSourceConfiguration.class})
/*
类似于替代Spring Config配置文件中的
<import resource="applicationContext-User.xml" />
import支持多个,如
@Import({a.class,b.class})
* */
public class SpringConfiguration {
}
然后再建立一个类似之前的Spring Config的分配置文件的类,就是被import的那个。
package com.config;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import javax.sql.DataSource;
import java.beans.PropertyVetoException;
public class DataSourceConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String user;
@Value("${jdbc.password}")
private String password;
/*
@Bean("dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://192.168.217.132/mybatis");
dataSource.setUser("root");
dataSource.setPassword("1448169a3cb137d7");
return dataSource;
}
类似于代替
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
*
* */
@Bean("dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(user);
dataSource.setPassword(password);
return dataSource;
}
}
那么接下来我们的入口main方法中也不能使用原来的xml方式获取bean了。
package com.web;
import com.config.SpringConfiguration;
import com.wzgy.service.UserService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Index3 {
public static void main(String[] args) {
AnnotationConfigApplicationContext app=new AnnotationConfigApplicationContext(SpringConfiguration.class);
UserService userService= app.getBean(UserService.class);
userService.save();
app.close();
}
}
关键字词:Spring,注解,代替,config,文件,xml
相关文章
- 11-Spring注解开发-原始注解详解1(Repository、Servic
- 10-Spring注解开发-原始注解入门操作(SpringConfig配
- 09-Spring注解开发-完善测试环境
- 07-Spring配置数据源-Spring(配置文件中)加载properti
- 06-Spring配置数据源-Spring产生数据源对象(SpringCon
- 05-Spring配置数据源-抽取jdbc.properties文件
- 04-Spring配置数据源-手动创建Druid数据源
- 03-Spring配置数据源-数据源的开发步骤和手动创建C3P0
- 20-Spring相应API2(getBean通过接口类来获取)
- 19-Spring相应API1(绝对路径加载Spring配置文件及解决