广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring框架对于Bean的管理详解
  • 535
分享到

Spring框架对于Bean的管理详解

2024-04-02 19:04:59 535人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是Bean管理Bean管理操作的两种方式基于注解的方式实现Bean管理和注入属性(常用)1.什么是注解2.spring针对Bean管理中创建对象提供的注解3.用注解的方式创建

什么是Bean管理

bean管理指的是如下的两个操作。

1.创建对象

2.注入属性

Bean管理操作的两种方式

1.基于xml配置文件的方式实现

2.基于注解方式实现

基于注解的方式实现Bean管理和注入属性(常用)

1.什么是注解

①:注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)

②:使用注解,注解作用在类上面,方法上面,属性上边

③:使用注解的目的:简化XML配置

2.Spring针对Bean管理中创建对象提供的注解

@Component 普通的类

@Controller 表现层

@Service 业务层

@Repository 持久层

上边四个功能一样,都可以用来创建bean实例

3.用注解的方式创建对象

①:编写接口和实现类

package com.qcby.testanno;
public interface UserService {
    public void hello();
}

②:在需要管理的类上添加@Component注解

package com.qcby.testanno;
import org.springframework.stereotype.Component;


@Controller(value="us")
public class UserServiceImpl implements UserService {
    public void hello() {
        System.out.println("使用注解,方便吧!");
    }
}

③:编写配置文件,重点是开启注解扫描。

<?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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
    <!--开启注解扫描 com.qcby所有的包中的所有的类-->
    <context:component-scan base-package="com.qcby"/>
</beans>

④:测试

package com.qcby.test;
import com.qcby.testanno.UserService;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Demo2 {
    @Test
    public void run1(){
        ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContextanno.xml");
        UserService us = (UserService) ac.getBean("us");
        us.hello();
    }
}

4.用注解的方实现属性注入

@Value 用于注入普通类型(String,int,double等类型)

@Autowired 默认按类型进行自动装配(引用类型)

@Qualifier 不能单独使用必须和@Autowired一起使用,强制使用名称注入

@Resource Java提供的注解,也被支持。使用name属性,按名称注入

具体的代码如下:用注解的方式创建对象和赋值

// 默认当前类名就是ID名称,首字母小写
@Component(value = "car")
// @Controller
// @Service(value = "c")
// @Repository(valu = "c")
public class Car {
    // 注解注入值,属性set方法是可以省略不写的。
    // 只有一个属性,属性的名称是value,value是可以省略不写的
    @Value("大奔2")
    private String cname;
    @Value(value = "400000")
    private Double money;
    // 也不用提供set方法
    // 按类型自动装配的注解,和id名称没有关系
    @Qualifier("person")
    @Autowired  //注意:(所引用的Car类里面必须要写:类声明@Component(value="person") )
    // 注入引用数据类型:不需要写值,根据类型自动匹配
    //@Resource(name="person")  //是jdk提供,按照名称进行注入,只能在引用数据类型当中发使用
    private Person person;
    @Override
    public String toString() {
        return "Car{" +
                "cname='" + cname + '\'' +
                ", money=" + money +
                ", person=" + person +
                '}';
    }
}

注意声明:@Component(value = “person”)

@Component(value = "person")
public class Person {
    @Value("张三")
    private String pname;
    @Override
    public String toString() {
        return "Person{" +
                "pname='" + pname + '\'' +
                '}';
    }
}

测试:用注解的方式创建对象和赋值

@Test
public void run1(){
    // 工厂
    ApplicationContext ac = new
            ClassPathXmlApplicationContext("applicationContext.xml");
    // 获取对象
    Car car = (Car) ac.getBean("car");
    System.out.println(car);
}

到此这篇关于Spring框架对于Bean的管理详解的文章就介绍到这了,更多相关Spring Bean内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring框架对于Bean的管理详解

本文链接: https://www.lsjlt.com/news/165543.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作