spring开发快速入门
一、什么是spring
1、概念
spring是一个开源免费的、轻量级的框架(容器),主要包括IOC控制反转和AOP面向切面编程。
2、优点
- spring是开源免费的框架。
- spring是轻量级的、非入侵式的框架。
- 控制反转(IOC),面向切面编程(AOP)。
- 支持事务的处理,对框架整合的支持。
二、spring开发方式
1、xml配置式
- 创建一个application.xml配置文件,引入约束
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
</beans>
- 创建bean
<bean id="user" class="pojo.User" scope="singleton">
<property name="name" value="张三"/>
</bean>
- 读取spring配置文件,测试
public static void main(String[] args) {
ApplicationContext context =new ClassPathXmlApplicationContext("bean1.xml");
User user= (User) context.getBean("user");
System.out.println(user.getName());
}
2、注解方式
- 开启注解扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--使用context命名空间,通知spring扫描指定目录,进行注解的解析 -->
<context:annotation-config/>
<context:component-scan
base-package="pojo" />
</beans>
-
@Component(bean)
在需要spring接管的对象上添加@Component注解,将对象注册到spring中,此注解等价于xml配置中
<bean id="user" class="pojo.User" scope="singleton"></bean>
-
@Value(属性注入)
使用@Value注解注入属性,等价于<property name="name" value="张三"/>
,@Value注解可以放在属性或者属性的set方法上。
-
衍生注解
@Component:
@Repository:dao层
@Service:service层
@Controller:web层
这四个注解的作用都是一样的,都是代表将某个类注册到spring中,即装配bean。 -
自动装配
@Autowired(常用)
@Qualifier
@Resource
@Nullable -
@Scope(作用域)
3、java方式(新特性)
三、代理模式
1.静态代理
2.动态代理
四、AOP
1、AOP术语
2、实现方式
- 使用原生SpringAPI接口实现
- 使用自定义类实现
- 使用注解实现