Java Spring引导:将类转换为bean
新的弹簧靴。我有一个实现接口的类,我想把这个类转换成一个bean有办法吗? 这是课程:Java Spring引导:将类转换为bean,java,spring,spring-boot,Java,Spring,Spring Boot,新的弹簧靴。我有一个实现接口的类,我想把这个类转换成一个bean有办法吗? 这是课程: public class UnitTestContextProvider implements MockDataProvider { @Override public MockResult[] execute(MockExecuteContext ctx) throws SQLException { // You might need a DSLContext to cre
public class UnitTestContextProvider implements MockDataProvider {
@Override
public MockResult[] execute(MockExecuteContext ctx) throws SQLException {
// You might need a DSLContext to create org.jooq.Result and org.jooq.Record objects
DSLContext create = DSL.using(SQLDialect.POSTGRES);
MockResult[] mock = new MockResult[1];
// The execute context contains SQL string(s), bind values, and other meta-data
String sql = ctx.sql();
// Exceptions are propagated through the JDBC and jOOQ APIs
if (sql.toUpperCase().startsWith("DROP")) {
throw new SQLException("Statement not supported: " + sql);
}
// You decide, whether any given statement returns results, and how many
else if (sql.toUpperCase().startsWith("SELECT")) {
// Always return one record
Result<Record2<UUID, String>> result = create.newResult(CLIENT.CLIENT_ID, CLIENT.CLIENT_NAME);
result.add(create
.newRecord(CLIENT.CLIENT_ID,CLIENT.CLIENT_NAME)
.values(UUID.fromString("88ccc2c2-492f-4f03-9676-3c39e0c51514"), "Orwell"));
mock[0] = new MockResult(1, result);
}
// You can detect batch statements easily
else if (ctx.batch()) {
// [...]
}
return mock;
}
}
@Configuration
public class ContextProviders{
@Bean
public UnitTestContextProvider unitTestContext() {
//This is similar to the class described above.
}
}
我的主要困惑是如何处理接口部分。将配置更改为以下内容。您需要使用
@Bean
注释对其进行注释。现在,您可以使用@Autowired
或@Inject
注释将其注入到另一个spring管理的bean中
@Configuration
public class ContextProviders{
@Bean
public MockDataProvider unitTestContext() {
return new UnitTestContextProvider();
}
}
将您的配置更改为以下内容。您需要使用
@Bean
注释对其进行注释。现在,您可以使用@Autowired
或@Inject
注释将其注入到另一个spring管理的bean中
@Configuration
public class ContextProviders{
@Bean
public MockDataProvider unitTestContext() {
return new UnitTestContextProvider();
}
}