前提:在applicationContext.xml中加入:
<context:component-scan base-package="com.itheima"></context:component-scan>
作用:扫面包下的注解
1、用于创建对象的注解
@Component(当一个类无法确定分类,但需要存入ioc容器可以使用这个注解)
@Controller(表现层)、@Service(业务层)、@Repository(持久层)。
作用:用于把当前类对象存入spring容器中
属性:value:用于指定bean的id。当我们不写时,它的默认值是当前类名,且首字母改小写。
2、用于注入数据的注解
@Autowire:自动按类型注入。出现位置:可以在变量上、也可以是方法上。
细节:在使用注解注入时,set方法就不是必须的了
@Qualifier:按照类中注入的基础之上再按照名称注入。
@Resource:直接按照bean的id注入。它可以独立使用
@Value:用于注入基本类型和String类型的数据
3、用于改变作用范围的
( 作用就和在bean标签中使用scope属性实现的功能是一样的)
@Scope:常用取值:singleton 、prototype
4、和生命周期相关的
(作用就和在bean标签中使用init-method和destroy-method的作用是一样的)
@PostConstruct:用于指定初始化方法。在类中方法上指定
@PreDestroy:用于指定销毁方法。在类中方法上指定(最好是单例对象,因为多例对象有java回收垃圾机制回收)
5、配置注解
@Configuration:指定当前类是一个配置类
@ComponentScan:指定创建容器时要扫描的包。和本文开头加入的内容作用是一致的
@PropertySource("classpath:jdbc.properties"):加载配置文件
@Import:用于引入其他的类,将其他配置类导入总配置类