spring常用注解

Spring:就是一个容器,管理程序中的所有对象(bean),可以用他来管理整个应用。

ApplicationContext和BeanFactory的区别

ApplicationContext:容器初始化的时候,会创建所有Bean的对象

优点:响应更快

缺点:占用系统(CPU,内存)

BeanFactory:容器初始化的时候,不会创建所有Bean的对象,程序真正获取对象才创建

优点:不会过多的占用资源

缺点:响应跟慢
在spring框架的配置文件ApplicationContext.xml文件中定义各种bean,通过ApplicationContext对象和BeanFactory对象来获取Bean对象,也就是获取类的实体(对象)。

 applicationContext.xml配置文件中要指明扫描什么位置的文件;位置是包的位置
<context:component-scan base-package="com.dgh,com.dgh2" />如果有多个包,用逗号隔开即可。
扫描的包定义好了之后,就不需要定义bean了,只需要使用注解标明需要注入spring容器中的类即可,项目启动时,spring会去指定的包下面扫描,有注解的,就会以bean 的形式注入自己容器中。

常用注解:
@Autowired  自动装配,默认按照类型去匹配bean,是用来注解一个类内部的其他类;假如一个接口被两个类实现了,此时a类的成员包括了该接口,那么使用@Autowired来注解,出问题了,到底注入该接口的哪个实现类呢?所以为了明确,需要 @Qualifier("实现类的名字") 注解来标明。

@Service  标明需要注入spring容器的类。默认bean的id为类的名字(小写),也可以@Service("指定名字")

@Controller  标明controller层的类。
 
@Repository  标明数据访问层的类。

@Value  用于标记类的成员变量的初始化值。
例如有个a类
@Service
class a{
    @Value("hello")
    String  str;
}

ApplicationContext ac=new ClassPathXmlApplicationContext("test1/applicationContext.xml");
a www=(a)ac.getBean("a");
System.out.println(www.str);
就可以打印出hello了。

@AutoConfigureBefore :此注解会指定一个或多个类,比如 @AutoConfigureBefore(AA.class),或者 @AutoConfigureBefore(name = {"AA.class", "BB.class"}),当此注解作用于某个类时,表示AA 会在该类的 bean 初始化之后,(AA,BB)会在之前。

@AutoConfigureAfter:同理 @AutoConfigureBefore。

@Role:没有任何实质作用,仅标识一个 bean 的类型,一共有 3 种类型,由 BeanDefinition 接口提供(ROLE_APPLICATION = 0,ROLE_SUPPORT = 1, ROLE_INFRASTRUCTURE = 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值