Spring基于注解方式实现对象创建(超详细)

简介: Spring基于注解方式实现对象创建(超详细)
+关注继续查看

什么是注解


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

(2)使用注解,注解作用在类上面,方法上面,属性上面。

(3)使用注解目的:简化xml配置。


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

image.png


注意:这四个注解的功能是一样的都可以用来创建bean实例,用哪个都可以,只是为了区分,我们使用相对应的。


基于注解方式创建对象


引入依赖


把spring-aop-5.2.6.RELEASE.jar引入到项目中。


拷贝到lib目录下


1.png


引入到项目中


2.png


开启组件扫描


引用context名称空间,配置需要扫描的包。


bean1.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"
       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">

    <!--开启组件扫描
    1、如果要扫描多个包,多个包用逗号隔开
    2、直接写到上层目录
    -->
    <context:component-scan base-package="com.Keafmd"></context:component-scan>

</beans>

创建个类开始使用


UserService类:


package com.Keafmd.spring5.service;

import org.springframework.stereotype.Service;

/**
 * Keafmd
 *
 * @ClassName: UserService
 * @Description:
 * @author: 牛哄哄的柯南
 * @date: 2021-01-17 13:15
 */
//在注解里的value值可以不写,默认就是类的首字母小写 userService
// @Component(value = "userService")  //<bean id="userService" class=".."/>
@Service
public class UserService {

    public void add(){
        System.out.println("service add......");
    }
}

测试类:


package com.Keafmd.spring5.testdemo;

import com.Keafmd.spring5.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Keafmd
 *
 * @ClassName: TestSpring5Demo1
 * @Description: 测试类
 * @author: 牛哄哄的柯南
 * @date: 2021-01-17 13:03
 */
public class TestSpring5Demo1 {
    @Test
    public void testService(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = context.getBean("userService",UserService.class);
        System.out.println(userService);
        userService.add();
    }
}

测试结果:


com.Keafmd.spring5.service.UserService@436a4e4b
service add......

Process finished with exit code 0

以上就完成了基于注解的方式实现对象创建


相关文章
|
23天前
|
前端开发 Java Spring
Spring MVC拦截器+注解方式实现防止表单重复提交
Spring MVC拦截器+注解方式实现防止表单重复提交
|
4月前
|
存储 XML Java
【spring源码系列-04】注解方式启动spring时refresh的前置工作
【spring源码系列-04】注解方式启动spring时refresh的前置工作
44 0
|
4月前
|
XML Java 数据库连接
2021-08-10基于注解配置AOP,银行取款初步后台搭建,spring事务处理,注解方式事务配置,spring+mybatis整合
2021-08-10基于注解配置AOP,银行取款初步后台搭建,spring事务处理,注解方式事务配置,spring+mybatis整合
320 1
|
5月前
|
XML 设计模式 Java
Spring——Bean管理-注解方式进行属性注入
简化xml方式开发,只需要注解就可以完成在配置文件中的配置
|
8月前
|
XML Java 数据格式
Spring基础篇:使用注解方式实现Spring提供的AOP
使用注解方式实现Spring提供的AOP
37 0
|
Java Spring
Spring 使用注解方式进行事务管理
Spring 使用注解方式进行事务管理
109 0
|
Java Spring
Spring基于注解方式实现属性注入(超详细)
Spring基于注解方式实现属性注入(超详细)
Spring基于注解方式实现属性注入(超详细)
|
Java Spring 容器
Spring练习,使用注解的方式,完成模拟用户的正常登录。要求如下: 使用注解方式开发模拟用户的正常登录。
Spring练习,使用注解的方式,完成模拟用户的正常登录。要求如下: 使用注解方式开发模拟用户的正常登录。
101 0
Spring练习,使用注解的方式,完成模拟用户的正常登录。要求如下: 使用注解方式开发模拟用户的正常登录。
|
Java Spring 容器
【小家Spring】从基于@Transactional全注解方式的声明式事务入手,彻底掌握Spring事务管理的原理(下)
【小家Spring】从基于@Transactional全注解方式的声明式事务入手,彻底掌握Spring事务管理的原理(下)
|
缓存 Java Spring
【小家Spring】从基于@Transactional全注解方式的声明式事务入手,彻底掌握Spring事务管理的原理(中)
【小家Spring】从基于@Transactional全注解方式的声明式事务入手,彻底掌握Spring事务管理的原理(中)
相关产品
云迁移中心
推荐文章
更多