use of cn.taketoday.context.annotation.MissingBean in project today-infrastructure by TAKETODAY.
the class MybatisAutoConfiguration method sqlSessionFactory.
@MissingBean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
factory.setDataSource(dataSource);
factory.setVfs(ResourceLoaderVFS.class);
if (StringUtils.hasText(properties.getConfigLocation())) {
factory.setConfigLocation(resourceLoader.getResource(properties.getConfigLocation()));
}
applyConfiguration(factory);
if (properties.getConfigurationProperties() != null) {
factory.setConfigurationProperties(properties.getConfigurationProperties());
}
if (StringUtils.isNotEmpty(properties.getTypeAliasesPackage())) {
factory.setTypeAliasesPackage(properties.getTypeAliasesPackage());
}
if (properties.getTypeAliasesSuperType() != null) {
factory.setTypeAliasesSuperType(properties.getTypeAliasesSuperType());
}
if (StringUtils.isNotEmpty(properties.getTypeHandlersPackage())) {
factory.setTypeHandlersPackage(properties.getTypeHandlersPackage());
}
Resource[] mapperLocations = properties.resolveMapperLocations();
if (ObjectUtils.isNotEmpty(mapperLocations)) {
factory.setMapperLocations(mapperLocations);
}
interceptors.ifAvailable(factory::setPlugins);
typeHandlers.ifAvailable(factory::setTypeHandlers);
databaseIdProvider.ifAvailable(factory::setDatabaseIdProvider);
Class<? extends LanguageDriver> defaultLanguageDriver = properties.getDefaultScriptingLanguageDriver();
factory.setDefaultScriptingLanguageDriver(defaultLanguageDriver);
languageDrivers.ifAvailable(languageDrivers -> {
factory.setScriptingLanguageDrivers(languageDrivers);
if (defaultLanguageDriver == null && languageDrivers.length == 1) {
// override
factory.setDefaultScriptingLanguageDriver(languageDrivers[0].getClass());
}
});
applySqlSessionFactoryBeanCustomizers(factory);
return factory.getObject();
}
use of cn.taketoday.context.annotation.MissingBean in project today-framework by TAKETODAY.
the class CrossOriginConfiguration method handlerCorsCustomizer.
@MissingBean
public HandlerCorsCustomizer handlerCorsCustomizer(CorsProcessor corsProcessor, ApplicationContext context) {
HandlerCorsCustomizer customizer = new HandlerCorsCustomizer(corsProcessor);
ExpressionEvaluator expressionEvaluator = context.getExpressionEvaluator();
customizer.setExpressionEvaluator(expressionEvaluator);
return customizer;
}
use of cn.taketoday.context.annotation.MissingBean in project today-framework by TAKETODAY.
the class WebSocketConfig method annotationWebSocketHandlerBuilder.
@MissingBean(value = AnnotationWebSocketHandlerBuilder.class)
AnnotationWebSocketHandlerBuilder annotationWebSocketHandlerBuilder(List<EndpointParameterResolver> resolvers) {
final AnnotationWebSocketHandlerBuilder handlerBuilder;
if (ClassUtils.isPresent("jakarta.websocket.Session")) {
handlerBuilder = new StandardAnnotationWebSocketHandlerBuilder();
} else {
handlerBuilder = new AnnotationWebSocketHandlerBuilder();
}
handlerBuilder.registerDefaultResolvers();
handlerBuilder.addResolvers(resolvers);
// @since 4.0 trimToSize
handlerBuilder.trimToSize();
return handlerBuilder;
}
use of cn.taketoday.context.annotation.MissingBean in project today-framework by TAKETODAY.
the class WebSocketConfig method annotationWebSocketHandlerBuilder.
@MissingBean(value = AnnotationWebSocketHandlerBuilder.class)
AnnotationWebSocketHandlerBuilder annotationWebSocketHandlerBuilder(List<EndpointParameterResolver> resolvers, List<WebSocketConfiguration> configurers) {
AnnotationWebSocketHandlerBuilder handlerBuilder;
if (ClassUtils.isPresent("jakarta.websocket.Session")) {
handlerBuilder = new StandardAnnotationWebSocketHandlerBuilder();
} else {
handlerBuilder = new AnnotationWebSocketHandlerBuilder();
}
// configure EndpointParameterResolver
for (WebSocketConfiguration configurer : configurers) {
configurer.configureEndpointParameterResolvers(resolvers);
}
handlerBuilder.registerDefaultResolvers();
handlerBuilder.addResolvers(resolvers);
// @since 4.0 trimToSize
handlerBuilder.trimToSize();
return handlerBuilder;
}
use of cn.taketoday.context.annotation.MissingBean in project today-framework by TAKETODAY.
the class MybatisAutoConfiguration method sqlSessionFactory.
@MissingBean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
factory.setDataSource(dataSource);
factory.setVfs(ResourceLoaderVFS.class);
if (StringUtils.hasText(properties.getConfigLocation())) {
factory.setConfigLocation(resourceLoader.getResource(properties.getConfigLocation()));
}
applyConfiguration(factory);
if (properties.getConfigurationProperties() != null) {
factory.setConfigurationProperties(properties.getConfigurationProperties());
}
if (StringUtils.isNotEmpty(properties.getTypeAliasesPackage())) {
factory.setTypeAliasesPackage(properties.getTypeAliasesPackage());
}
if (properties.getTypeAliasesSuperType() != null) {
factory.setTypeAliasesSuperType(properties.getTypeAliasesSuperType());
}
if (StringUtils.isNotEmpty(properties.getTypeHandlersPackage())) {
factory.setTypeHandlersPackage(properties.getTypeHandlersPackage());
}
Resource[] mapperLocations = properties.resolveMapperLocations();
if (ObjectUtils.isNotEmpty(mapperLocations)) {
factory.setMapperLocations(mapperLocations);
}
interceptors.ifAvailable(factory::setPlugins);
typeHandlers.ifAvailable(factory::setTypeHandlers);
databaseIdProvider.ifAvailable(factory::setDatabaseIdProvider);
Class<? extends LanguageDriver> defaultLanguageDriver = properties.getDefaultScriptingLanguageDriver();
factory.setDefaultScriptingLanguageDriver(defaultLanguageDriver);
languageDrivers.ifAvailable(languageDrivers -> {
factory.setScriptingLanguageDrivers(languageDrivers);
if (defaultLanguageDriver == null && languageDrivers.length == 1) {
// override
factory.setDefaultScriptingLanguageDriver(languageDrivers[0].getClass());
}
});
applySqlSessionFactoryBeanCustomizers(factory);
return factory.getObject();
}
Aggregations