我一直在使用Spring 3.2+已有一段时间了,大部分时间我都可以使用以下任一选项而且它有效,但我想知道是否有任何具体的区别。
这是我的JndiConfig java配置类:
@Configuration
public class JndiConfig {
@Bean(name = "dataSource")
public DataSource dataSource() throws Exception {
BasicDataSource datasource = new BasicDataSource();
datasource.setDriverClassName("com.mysql.jdbc.Driver");
datasource.setUrl("jdbc:mysql://localhost:3306/csdb");
datasource.setUsername("root");
datasource.setPassword("root");
datasource.setValidationQuery("SELECT 1");
return datasource;
}
}
我可以使用以下选项:
选项1
@Configuration
@Import({JndiConfig.class})
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication().dataSource(dataSource);
}
}
选项2
@Configuration
@EnableWebSecurity
@ComponentScan(basePackages = "com.security"
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication().dataSource(dataSource);
}
}
在选项1 中,我导入JndiConfig
,如选项2 ,我只对JndiConfig
进行组件扫描。
有人能解释一下这两者之间的区别吗?
感谢。
答案 0 :(得分:0)
现在我只能弄清楚两个不同之处: