@bean来实现Xml中的</bean>
例子:
@Configuration
public class Appconfig{
@Bean //(name="aaa") 等同<bean id="aaa"> 默认单例,可以使用@Scope修改,默认方法名称
public MyService getmyService(){
return new MyServiceImp();
}
}
等同于
<beans>
<bean id="getmyService" class="***.***.MyserviceImp"></bean>
</beans>
------------------------------------------------------------------------------------------------------------
初始和销毁,以及静态文件的导入
public class StringStore implements Store {
public void init() {
System.out.println("This is init.");
}
public void destroy() {
System.out.println("This is destroy.");
}
}
@Configuration
@ImportResource("classpath:config.xml")
@ImportResource("classpath:jdbc.properties")
public class StoreConfig {
@value(“${jdbc.url}”)// 加jdbc为了与其他URL区别开来
private String url;
@Bean(name = "stringStore", initMethod="init", destroyMethod="destroy")
public Store stringStore() {
return new StringStore();
}
@Bean
public DataSource dataSource{
new DriverManagerDataSource(url);
}
}
等同于
<import resource="classpath:config.xml"/>
<context:property-placeholder location="classpath:jdbc.properties"/>//jdbc驱动属性导入
<beans>
<bean id="stringStore" class="***.***.Store" init-method="init" destroy-method="destory"></bean>
<bean id="dataSource" class="***.DriverManagerDataSource">
<property name="url" value="${jdbc.url}"/>
</bean>
</beans>
--------------------------------------------------------------------------------------------------------------------------------------------
@AutoWired
注解在泛型上,会自动匹配相应,集合也是如此