bean作用范围

@Scope
单例或非单例
singleton 单例
prototype 非单例
例如:

1
2
@Scope("singleton")
@Scope("prototype")

定义bean

1
2
3
4
@Service
@Component
@Controller
@Repository

控制bean生命周期

1
2
3
4
// 构造方法后运行
@PostConstruct
// 销毁前运行
@PreDestroy

引用类型bean自动装配——指定装配

1
2
@Autowired
@Qualifier("名称")//无法单独使用

简单类型的注入

1
@Value("=${}")

加载properties文件

使用@PropertySource注解加载properties文件

1
2
3
4
@Configuration
@ComponentScan("com.itheima")
@PropertySource("classpath:jdbc.properties")
public class SpringConfig {}

注意:路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符
加载配置文件.properties

XML配置和注解配置的对比

功能 XML配置 注解
定义bean bean标签
- id属性
- class属性
@Component
-@Controller
-@Service
-@Repository
@ComponentScan
设置依赖注入 setter注入(set方法)
-引用/简单
构造器注入(构造方法)
-引用/简单
自动装配
@Autowired
-@Oualifier
@Value
配置第三方bean bean标签
静态工厂实例工厂、FactoryBean
@Bean
作用范围 -scope属性 @Scope
生命周期 标准接口
-init-method
-destroy-metho
@PostConstructor
@PreDestroy