Мой класс конфигурации живучесть выглядит как ниже:Inject аннотации на основе Bean в XML на основе боба
@Configuration
@EnableTransactionManagement
public class PersistenceConfig {
@Autowired
private Environment env;
// code here
@Bean(name = "dataSource")
public DataSource dataSource()
{
System.out.println("------------------------datasource----------------------");
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));
dataSource.setUrl(env.getProperty("jdbc.url"));
dataSource.setUsername(env.getProperty("jdbc.username"));
dataSource.setPassword(env.getProperty("jdbc.password"));
return dataSource;
}
}
И у меня есть класс конфигурации XML:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oauth="http://www.springframework.org/schema/security/oauth2"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:sec="http://www.springframework.org/schema/security" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd ">
<authentication-manager alias="authenticationManager"
xmlns="http://www.springframework.org/schema/security">
<authentication-provider>
<user-service>
<user name="username" password="password" authorities="USER_ROLE" />
</user-service>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="query here"
authorities-by-username-query="query here" />
</authentication-provider>
</authentication-manager>
<!-- code here -->
Так я хочу, чтобы ввести фасоль под названием "dataSource" аннотируется с @Bean (в классе конфигурации persistence), в <jdbc-user-service data-source-ref="dataSource" ... >
, как я могу это сделать?
Это зависит от того, как вы увеличиваете весну. Если вам удастся загрузить как класс '@ Configuration', так и xml-файл, он будет работать. Если это не так, покажите, как вы это делаете. –
@SergeBallesta, я думаю, он должен быть загружен как классом @Configuration, так и xml-файлом, потому что я его настраиваю в моем XML-файле: '<контекст: компонент-сканирование base-package =" com.rsone. * "/> <контекст: annotation-config /> ' –
Жесткая часть, начинающаяся с весны, заключается в правильной загрузке контекстов приложения. Если вы этого не скажете, я не смогу помочь. Как вы загружаете Spring? Из web.xml, из 'WebApplicationInitializer'? –