IDEASpring1:概念、类上的注解、实现类的注解、配置类替代xml、案例、引入外部文件

  • spring核心功能
    IOC:控制反转,原来擦黄健对象用new,现在把创建对象的过程交给spring
    AOP:面向切面编程。在不修改源码的情况下更改功能。

  • 特点
    1.方便解耦,简化开发
    2.aop支持
    3.方便测试
    4.方便和其它框架整合

  • IOC
    (1)控制反转,把对象的创建和调动的过程,交给spring
    (2)目的:降低耦合度、
    (3)BeanFactory
    (4)底层原理:XML解析、工厂模式

  • Spring实现IOC的方法:
    1.BeanFactory,内部接口,无法外部使用
    2.Applicationcontext

  • 引入外部文件xml方式
    在这里插入图片描述

Spring中的注解

  • 注解
    1.可以作用在类上、方法上面、属性上面
    2.简化xml配置
  • Spring针对bean管理中创建对象提供的注解
    这些注解一般加在类上。
    (1)Component:普通注解
    (2)Service:一般用在业务逻辑层、Service曾
    (3)Controller:一般用在web层上
    (4)Repository :用在dao层、持久层。
    以上注解功能是一样的,都能创建对象

基于注解创建对象

  • 1.引入依赖
    引入Spring AOP 依赖
  • 2.开启组件扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans  xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context"
        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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-beans.xsd">

    <context:component-scan base-package="com.*"></context:component-scan>

</beans>
  • 3.使用注解
    在这里插入图片描述

注解属性注入

这些注解一般加在实现类的语句上
(1)@Autowired:根据属性类型进行自动注入
(2)@Qualifier:根据属性名称进 行注入,一般和autowired一起使用
(3)@Resource:都可以
(4)@Value:注入普通类型属性

  • 1.创建Service和Dao对象注解

在这里插入图片描述

package com.Dao;

public interface UserDao {
    public void add();
}

package com.Dao;

import org.springframework.stereotype.Repository;

@Repository
public class UserDaoImpl implements UserDao{
    @Override
    public void add() {
        System.out.println("Dao add.....");
    }
}


  • 2.Service中注入对象
package com.Server;

import com.Dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service(value = "user")
public class User {

    //定义Dao类型属性
    //不用加set方法,因为已经封装
    //添加注入属性注解,在属性上面添加注解
    @Autowired
    private UserDao userDao;
    public void add(){
        System.out.println("add  方法...");
    }
}

在实际中一般一个接口对应一个实现类。

Qualifier使用实例

一般Qualifier注解和Autowired注解一块使用。

  • 当有一个接口有多个实现类对象的时候,使用Qualifier注解指定实现类
    在这里插入图片描述

Resource使用

根据类型注入、根据名称注入
在这里插入图片描述

Value

注入普通类型属性,如字符串等
在这里插入图片描述

完全注解开发实例

即不用xml配置文件
创建配置类 ,目的:用来替代xml配置文件,其他不变
在这里插入图片描述
手动创建一个配置类,然后加上注解即可。此时可以删掉xml配置文件了。

package com.confige;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration//这个注解表示当前类为配置类,替代xml配置文件
@ComponentScan(basePackages = {"com.*"})//等于配置类中的扫描
public class SpringConfig {

}
  • 测试类的编写
public class Test1 {
    @Test
    public void test(){
        ApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);//加载配置类
        User user=context.getBean("user",User.class);
        System.out.println(user);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼雨羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值