微服务相关注解的作用(第一天)

@Autowried
作用:自动导入依赖的bean
将配置好的bean拿来使用,完成属性,方法的组装,该注解可以针对类成员变量,方法以及构造函数进行标注,完成自动装配的工作
如果再加上(required = false)时,找不到bean的时候也不会报错。

@Column :
作用:用来标识实体类和数据库的对应关系.一共包含十个属性.解释如下:

@Component
作用:将普通的pojo实例化到spring容器中,相对于配置文件中< bean id ="" class = “”/>
注意:@component 可以通过实现CommandLineRunner接口来在程序执行后紧跟着实现一些基础功能.

@ComponentScna:
组件可以发现和装配一些Bean.主要就是定义扫描路径从中找出标识了需要装配的类自动装配到spring 的容器中.
总结如下:
自定义扫描路径下边带有@Controller,@Service,@Repository,@Component 注解加入spring容器.
通过 includeFilters加入扫描路径下没有以上注解的类加入spring容器.
通过excluderFilters过滤出不用加入spring容器的类.
自定义增加了@Component注解的注解方式.
@Conditional
这是Spring4.0添加的新注解,用来标识一个Spring Bean 或者Configuration配置文件,当满足指定条件才开启配置.
首先定义自己的判断类实现接口Condition
public class MyCondition implements Condition{
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
Environment env = conditionContext.getEnvironment();
String property = env.getProperty(“os.name”);
System.out.println(“系统为>>>>>>”+property);
if(property.contains(“Linux”)){
return true;
}else {
return false;
}
}
}

使用
@Component
public class GetUser {

@Conditional(MyCondition.class)
@Bean(value = "user")
public User getuserrrrr(){
    System.out.println("这里创建了用户>>>>>:");
    return new User("lxq",22);
}

}
测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

@Autowired
ApplicationContext context;

@Test
public void contextLoads() {
	Arrays.stream(context.getBeanDefinitionNames()).forEach(System.out::println);

}

}
结果
只有在LInux系统下运行才会在spring 容器中创建user类.在windows系统下不会创建user类.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值