Spring 3 を使用してさまざまなプロファイル用のアプリケーションを実装しようとしていますが、Spring 3 を使用して開発する方法がわかりません。混乱がいくつかあります
- PropertyPlaceholderConfigurer を使用してアプリケーションを開発する場合、DAO クラスに渡すセッション要素オブジェクトをどのように作成しますか?
- 各プロパティ ファイルのプロファイルを作成する方法を教えてください。「Dev」パラメーターを渡し、次に dev.proertie ファイルからアプリケーション対応のプロパティ ファイルを渡し、それをアプリケーションに渡したいとします。
- Google でいくつかのチュートリアルを読んだところですが、ほとんどのチュートリアルは、すべての DAO クラスで @Profile("dev") のようなすべてのクラスでハードコードされたプロファイル名に従います。DAOクラスに挿入する方法を自動的に行う方法はありますか? すべてのクラスにプロファイル名を追加したくない
ここに私のアプリケーションのリストがあります
これは単純なモデル オブジェクトです。
**従業員.Java**
public class Employee {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
このクラスはデータベースを扱います。したがって、Datasource オブジェクトではなく、このクラスにセッション オブジェクトが必要です。
社員DAOクラス
public class EmployeeDao {
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void insert(Employee employee){
String sql = "insert into employee(name) VALUES (?)";
Connection conn = null;
try {
conn = dataSource.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, employee.getName());
ps.executeUpdate();
ps.close();
conn.close();
}
catch (SQLException sqle) {
System.out.println("Sql Exception " + sqle.getMessage());
}
}
このクラスは実際にプロパティ ファイルからデータを読み取りますが、DAO クラスに挿入するセッション オブジェクトを構築する方法がわかりません
Config.java
public class Config {
@Bean
public static PropertyPlaceholderConfigurer properties(){
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
ClassPathResource[] resources = new ClassPathResource[ ]
{ new ClassPathResource( "db.properties" ) };
ppc.setLocations( resources );
ppc.setIgnoreUnresolvablePlaceholders( true );
return ppc;
}
@Value( "${jdbc.url}" ) private String jdbcUrl;
@Value( "${jdbc.driverClassName}" ) private String driverClassName;
@Value( "${jdbc.username}" ) private String username;
@Value( "${jdbc.password}" ) private String password;
@Bean(name="datasource")
public DataSource datasource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driverClassName);
ds.setUrl(jdbcUrl);
ds.setUsername(username);
ds.setPassword(password);
return ds;
}
@Bean(name="employee")
public Employee employee() {
Employee employee = new Employee();
employee.setName("Sahil");
return employee;
}
@Bean(name="employeeDao")
public EmployeeDao employeeDao() {
EmployeeDao employeeDao = new EmployeeDao();
employeeDao.setDataSource(datasource());
return employeeDao;
}