需要使用注解,需要在配置文件(application.xml)中配置自动扫描
<context:component-scan base-package=""/>
@Component 是一个通用注解,可作用于任何Bean
@Repository 通常用于注解DAO类(持久层)
@Service 通常用于注解Service(服务层)
@Controller 通常用于Controller类(控制层)
@Required 适用于bean属性必须在配置时被填充,通过在bean定义或通过自动装配一个明确的属性值
@Autowried 可注解在setter或构造器或成员变量,默认情况下,找不到bea会抛出异常,可以使用@Autowtied(required=false)避免抛出异常。
另外每个类只能有一个构造器被标注为required=true,建议使用@Required 。
其次可以使用@Autowried 注解那些总所周知的解析依赖性接口。
最后可以通过添加注解给需要该类型的数组的字段或方法,以提供ApplicationContext中的所有特定类型的bean。如果希望数组有序,可以使用@Order注解。
@Qualifier 按类型自动装配可能多个bean实例的情况,可以使用@Qualifier注解缩小范围,也可使用指定单独的构造器参数或方法参数。
@Bean 标识一个用于配置和初始化一个有SpringIoc容器管理的心对象的方法,类似于XML配置文件的<bean>。注解方法通常使用@Configuration.例子:
@Configuration
public class Appconfig{
@Bean
public MyService myService(){
return new MyServiceImpl();
}
}
等价于xml中的
<beans>
<bean id="myService" class="com.myapp.MyService"></bean>
</beans>
自定义Bean @Bean(name="",initMethod="",destoryMethod="")
@Bean默认是单例,可以使用@Scope设置作用于。
加载资源文件
@Configuration
@ImportResource("classpath:jdbc-config.xml")
public class Appconfig{
@Value("${jbbc.url}")
private String url;
}