Spring随笔
Sping介绍
-
Spring是一个开源的免费的框架(容器)!
-
Spring是一个轻量级的、非入侵式的框架!
-
控制反转(IOC),面向切面编程(AOP)!
-
支持事务的处理,对框架整合的支持!
总结一句话:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架!
使用注解开发
@Autowired
直接在属性上使用即可!也可以在set方法上使用!
使用Autowired我们就可以不用编写set方法了,前提是你这个自动配置的属性在IOC(Spring)容器中存在,且符合名字ByName!
小结:
@Resource和@Autowired的区别:
-
都是用来自动装配的,都可以放在属性字段上
-
@Autowired通过byType的方式实现,而且必须要求这个对象存在!【常用】
-
@Resource默认通过byName的方式实现,如果找不到名字,则通过byType实现!如果两个都找不到的情况下,就报错!【常用】
-
执行顺序不同:@Autowired通过byType的方式实现。 、
小结 xml与注解:
-
xml更加万能,适用于任何场合!维护简单方便
-
注解不是自己类使用不了,维护相队复杂! xml与注解最佳实践:
-
xml用来管理bean;
-
注解只负责完成属性的注入;
-
我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持
-
使用Java的方式配置Spring(SpringBoot)
我们现在要完全不使用Spring的xml配置了,全权交给Java来做! JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!
-
实体类
//这里这个注解的意思,就是说明这个类被Spring接管了,注册到了容器中 -
配置文件
// 这个也会Spring容器托管,注册到容器中,因为它本来就是一个@Component
// @Configuration代表这是一个配置类,就和我们之前看的beans.xml -
测试类
public class MyTest {
public static void main(String[] args) {
//如果完全使用了配置类方式去做,我们就只能通过 AnnotationConfig 上下文来获取容器,通过配置类的class对象加载!
ApplicationContext context = new AnnotationConfigApplicationContext(KuangConfig.class);
User user = context.getBean("user", User.class);
System.out.println(user.getName());
}
} -

浙公网安备 33010602011771号