返回连接对象的设计模式
Design Pattern for returning Connection Object
我们正在开发 PAAS 应用程序 (Spring Boot),它有 2-3 个不同的模块,其中每个模块都有一些用于创建和关闭数据库和 MQ 连接的冗余代码。
我们正在使用 Hikari DataSource 来维护池连接,并计划集中包含配置数据的代码,将其作为父依赖项放在其他代码中。
有没有合适的java设计模式来满足这个用例?
可能是工厂设计模式或抽象工厂设计模式;它们在概念上几乎相同。它的 UML 图 Factory Design Pattern
抽象工厂设计模式听起来更奇特,但并不比工厂设计模式更复杂。 Abstract Factory Design Pattern.
在 spring 启动时无需使用设计模式创建新的 class,spring 自行处理。只需要遵循 application.propertis
中的属性
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
如果我正确地解释了你的问题,我认为创建一个 class 来处理连接并用 @Component
注释对其进行注释是个好主意。然后,您可以在其他 class 中使用 @Autowired
注释来引用 class。例如:
@Component
public class MyDataSource {
// ....
}
Spring boot 可以自动将组件连接到其他 classes,如下所示(注意构造函数上方的 @Autowired
注释):
public class SomeServiceUsingTheDataSource {
private final MyDataSource myDataSource;
@Autowired
public SomeServiceUsingTheDataSource(MyDataSource myDataSource) {
this.myDataSource = myDataSource;
}
}
我们正在开发 PAAS 应用程序 (Spring Boot),它有 2-3 个不同的模块,其中每个模块都有一些用于创建和关闭数据库和 MQ 连接的冗余代码。
我们正在使用 Hikari DataSource 来维护池连接,并计划集中包含配置数据的代码,将其作为父依赖项放在其他代码中。
有没有合适的java设计模式来满足这个用例?
可能是工厂设计模式或抽象工厂设计模式;它们在概念上几乎相同。它的 UML 图 Factory Design Pattern
抽象工厂设计模式听起来更奇特,但并不比工厂设计模式更复杂。 Abstract Factory Design Pattern.
在 spring 启动时无需使用设计模式创建新的 class,spring 自行处理。只需要遵循 application.propertis
中的属性spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
如果我正确地解释了你的问题,我认为创建一个 class 来处理连接并用 @Component
注释对其进行注释是个好主意。然后,您可以在其他 class 中使用 @Autowired
注释来引用 class。例如:
@Component
public class MyDataSource {
// ....
}
Spring boot 可以自动将组件连接到其他 classes,如下所示(注意构造函数上方的 @Autowired
注释):
public class SomeServiceUsingTheDataSource {
private final MyDataSource myDataSource;
@Autowired
public SomeServiceUsingTheDataSource(MyDataSource myDataSource) {
this.myDataSource = myDataSource;
}
}