spring开发快速入门

一、什么是spring

1、概念

spring是一个开源免费的、轻量级的框架(容器),主要包括IOC控制反转和AOP面向切面编程。

2、优点

  1. spring是开源免费的框架。
  2. spring是轻量级的、非入侵式的框架。
  3. 控制反转(IOC),面向切面编程(AOP)。
  4. 支持事务的处理,对框架整合的支持。

二、spring开发方式

1、xml配置式

  1. 创建一个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>
  1. 创建bean
    <bean id="user" class="pojo.User" scope="singleton">
        <property name="name" value="张三"/>
    </bean>
  1. 读取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、注解方式

  1. 开启注解扫描
<?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>
  1. @Component(bean)
    在需要spring接管的对象上添加@Component注解,将对象注册到spring中,此注解等价于xml配置中
    <bean id="user" class="pojo.User" scope="singleton"></bean>

  2. @Value(属性注入)
    使用@Value注解注入属性,等价于<property name="name" value="张三"/>,@Value注解可以放在属性或者属性的set方法上。

  3. 衍生注解
    @Component:
    @Repository:dao层
    @Service:service层
    @Controller:web层
    这四个注解的作用都是一样的,都是代表将某个类注册到spring中,即装配bean。

  4. 自动装配
    @Autowired(常用)
    @Qualifier
    @Resource
    @Nullable

  5. @Scope(作用域)

3、java方式(新特性)

三、代理模式

1.静态代理

2.动态代理

四、AOP

1、AOP术语

2、实现方式

  1. 使用原生SpringAPI接口实现
  2. 使用自定义类实现
  3. 使用注解实现

五、整合mybatis

六、声明式事务

posted @ 2021-12-07 17:10  amo丶k  阅读(85)  评论(0编辑  收藏  举报