Spring注解开发(常用注解)
常用注解
@Component 该注解用在类上,对应着该类的实例Bean @Controller 用在类上面,表示该类是web层的实例Bean @Service 用在类上面,表示该类是service层的实例Bean @Repository 用在类上面,表示该类是dao层的实例Bean @Autowired 用在字段上面,表示根据类型完成依赖的注入 @Qualifier 结合@Autowired一起使用的,表示根据名称自动进行依赖注入 @Resource 等效于 @Autowired + @Qualifier,表示根据名称进行注入 @value 注入普通属性 @scope 标注bean的作用范围 @PostConstruct 使用在方法上,表示该方法是Bean的初始化方法 @PreDestroy 使用在方法上,表示该方法是Bean的销毁方法
注意
1.使用注解进行开发的时候,需要在Spring的核心配置文件配置【组件扫描】 2.组件扫描的作用是指定哪个包及其包下的Bean需要进行扫描,方便识别注解配置的的类,字段和方法 <context:component-scan base-package="com.dkt"/>
@Component
翻译过来是组件的意思
相当于<bean id=" " class=" ">
作用:把资源交给Spring来管理,相当于xml配置了一个bean
属性:id=指定bean的id,默认bean的id是当前类的类名,首字母小写
web层中的三层结构分别有对应的注解,在Spring当中我们都称之为Component 三个衍生的注解如下: @Controller 修饰web层 @Service 修饰业务层 @Repository 修饰数据持久层
@Scope
singleton:单例
prototype:多例
该注解是用来描述类的作用范围的,默认值是singleton,相当于<bean id=" " class=" " scope=" ">
@Value
注入简单的类型
注入的都是基本数据类型和String类型
表示指定该属性的值,可以通过动态的方式获得内容再赋值
@Value("${jdbc.username}") private String username;
@Autowried
自动的按照类型注入,当使用这个注解给成员属性赋值对象使用的时候,就不需要set了
前提是:前提是必须只有一个实现类,才可以
在UserServiceImpl中给UserDao上面加一个该注解,就不需要set方法就能完成实例bean的注入了
【XML和注解 混合开发】 基于XML配置 基于注解的配置 Bean定义 <bean> @Component/@Controller/@Service/@Repository Bean名称 <bean id=""/name="" @Component("userService") Bean注入 <property> @Autowired【根据类型注入】 && @Qualifier【根据名称注入】 /@Resource Bean生命周期 init-method/destroy-method @PostConstruct初始化/@PreDestroy销毁 Bean作用范围 scope @Scope Bean使用场景 第三方类使用配置 自己写的类