Springboot开发学习记录(四)


前言

Spring 认为所有组件都应该放在IOC容器中,组件之间的关系通过容器进行自动装配(依赖注入)通过注解的形式完成组件的注册,管理,依赖,注入功能。

一、配置类&配置文件?

这是关于组件的,以前要写Bean标签的方式

<bean id="person "class="com.bean.Person">
<property name="age" value="18"></property>//属性赋值
<property name="name" value="art"></property>
</bean>

可以在一个主测试类写一个main方法,new 一个 ClassPathXmlApplicationContext的方法传入一个xml文件的位置,返回的是IOC容器,容器里边就有你的组件,(例如配置文件中的Person)

现在用配置类的方式
配置类等同于以前的配置文件

@Configuration//告诉spring这是一个配置类
public class MainConfig{
@Bean//以前用的是Bean标签,给容器中注册一个Bean,类型是返回值的类型,id默认是方法名
public Person person(){
return new Person("lisi",20);
}


}

用配置类的话是要

ApplicationContext applicationContext=new AnnotationConfigApplicationContext(MainConfig.class;//现在是传配置类的位置
applicationContex.getBean(Person.class;

@Value

使用@value赋值
1、基本数值
2、可以写Spell;#{}
3、可以写${};取出配置文件中的值(在运行环境变量里面的值)

public class Person{
@Value("张三")
private String name;
@Value("#{20-2}")
private Integer age;
//无参数构造就有默认值了
}

@AutoWired

自动装配,
Spring利用依赖注入(DI),完成对IOC容器中各个组件的依赖关系赋值。
Controller里边用Service自动装配,Service里边用DAO也是自动装配
用了AutoWired属性就有值了
1)、默认优先按照类型去容器中找对应组件:applicationContext.getBean(BookDao.class);
2)、如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找 applicationContext.getBean("bookDao“)
3)、@Qualifier(“bookDao”),使用@Qualifier指定需要装配的组件id,而不是属性名
4)、自动装配默认一定要将属性赋值好,否则会报错
5)、@Primary 让Spring进行自动装配的时候,默认使用bean,也可以继续使用@Qualifier指定。
BookService{
@Autowired
BookDao bookDao;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值