1.注解开发
最开的配置,我们通过xml配置,但是有点繁琐,例如:
<bean id="user" class="cn.domain.User"></bean>
现在我们通过注解,可以大大方便我们的开发:
Component:作用把当前类对象存入spring容器中,属性value用于指定bean的id,当我们不写时,默认事当前类名的首字母改小写。
还有三个注解和Component的作用一样,更好的诠释的三层架构
Controller:表现层
Service:业务层
Repository:持久层
2.自动注入
@Autowired可以在成员变量上,也可以是方法上。
在Spring的ioc容器中,我们就不需要set方法注入了,当我们使用自动注入时 ,我们通过数据类型,去map里找到对象,如果没有则报错,但当有且是唯一的一个,我们就能注入成功,当有多个当时候,我们在再通过变量名去匹配,这样也可以注入成功。
@Qualifier在按照类中注入数据之上再按照名称注入。它在给类成员注入时不能单独使用(必须配合@Autowired一起使用,通过value参数设置),但是给方法参数注入时可以。
@Resource直接按照bean的id注入数据。属性name指定id.
注意⚠️:以上三个注解只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解,另外map集合只能通过XML注入。
@value用于注入基本类型和String类型,它的属性value用于指定数据的值。
3.改变作用域的注解
@Scope指定bean的作用范围。属性可以是单列(默认)也可以是多列(prototype) @PreDestroy销毁方法。 @PostConstruct初始化方法。