首页 > 其他分享 >Spring 注解开发

Spring 注解开发

时间:2022-10-28 21:57:22浏览次数:45  
标签:name Autowired Spring dog cat 开发 注解 public String

使用Spring注解前的配置
<?xml version="1.0" encoding="UTF8"?>
<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.2.xsd
        http://www.springframework.org/schema/context        //对应约束声明的实列名称空间
        http://www.springframework.org/schema/context/spring-context-3.2.xsd">  //

        <!--  指定要扫描的包,这个包下的注解就会生效      -->
        <context:component-scan base-package="com.zxy"/>
        <!-- 开启注解自动装配的支持      -->
        <context:annotation-config/>
        
</beans>
1.自动装配
@Autowired
@Qualifier(value="xxx)
      <!-- 开启注解自动装配的支持
         需要在对应实体类下的属性上加入 @Autowired 通过byType 如果不能装配上唯一属性
        @Qualifier(value="xxx) 配合 @Autowired使用 可以指定一个唯一的bean对象注入--!>
@Nullable            @Nullable  被这个注释标记的字段  可以为null   例如:void setCat(@Nullable Cat cat
@Resource       @Resource 默认为byName,找不到的话为 byType
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class People {
    @Autowired
    private Cat cat;

    @Qualifier(value = "dog")
    @Autowired
    private  Dog dog;
    private String name;
    public Cat getCat() {
        return cat;
    }

    public void setCat(Cat cat) {
        this.cat = cat;
    }
    public Dog getDog() {
        return dog;
    }
    public void setDog(Dog dog) {
        this.dog = dog;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "People{" +
                "cat=" + cat +
                ", dog=" + dog +
                ", name='" + name + '\'' +
                '}';
    }
}
<?xml version="1.0" encoding="UTF8"?>
<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">

        <!-- 开启注解自动装配的支持
                需要在对应实体类下的属性上加入  @Autowired  通过byType  如果不能装配上唯一属性
                @Qualifier(value="xxx) 配合 @Autowired使用 可以指定一个唯一的bean对象注入
        -->
        <context:annotation-config/>

        <bean id="cat" class="com.zxy.pojo.Cat"/>
        <bean id="dog" class="com.zxy.pojo.Dog"/>
        <bean id="people" class="com.zxy.pojo.People"/>

        <!--  @Nullable  被这个注释标记的字段  可以为null   例如:void setCat(@Nullable Cat cat)    -->

        <!-- @Resource   默认为byName,找不到的话为 byType     -->
</beans>
2.衍生注解
@Component的衍生注解(类顶上)
   pojo: @Component
dao: @Repository
service @Service
controller @Controller
下面三个和Component一样的,将某个类注册到Spring中,装配Bean 就无需再xml配置bean

补充:@Value 属性的注入
@Component   
public class User {
@Value("zxyzxy") //相当与 <property name="name" value="zxyzxy"/>
public String name;}
//等价于 <bean id="user" class="com.zxy.pojo.User"/>
@Component   //组件 说明被spring管理了,就是bean
public class User {
    @Value("zxyzxy")  //相当与 <property name="name" value="zxyzxy"/>
    public String name;
}

@Service
public class UserService {
}

@Controller
public class UserController {
}
@Repository
public class UserDao {
}
4.作用域
@Scope("prototype")(类顶上) 默认为单例 多例prototype
 
















标签:name,Autowired,Spring,dog,cat,开发,注解,public,String
From: https://www.cnblogs.com/kidzxy/p/16837632.html

相关文章

  • 16. Spring的基本使用
    一、引入Spring的依赖  通过maven的方式导入jar包,打包方式设置为jar包即可。<!--https://mvnrepository.com/artifact/org.springframework/spring-context-->......
  • springboot启动默认连接数据库问题
    这里是给新手介绍的springboot默认启动是连接数据库的经常很多人蒙蔽,//无数据源启动@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,DataSo......
  • springboot像springnvc那样访问视图
    1.SpringBoot访问静态资源的位置(优先级按以下顺序)classpath默认就是resources,所以classpath:/static/就是resources/static/classpath:/META‐INF/resources/cl......
  • 驱动开发:内核监控FileObject文件回调
    本篇文章与上一篇文章《驱动开发:内核注册并监控对象回调》所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERATI......
  • 京东云开发者|京东云RDS数据迁移常见场景攻略
    云时代已经来临,云上很多场景下都需要数据的迁移、备份和流转,各大云厂商也大都提供了自己的迁移工具。本文主要介绍京东云数据库为解决用户数据迁移的常见场景所提供的解决方......
  • 基于AidLux平台的医院进出口人流量统计案例开发与测试
    1、环境配置1.1、跨平台应用系统AidluxAIdlux系统是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIOT应用开发平台。实际应用到现场的时候,通常会以几种形态:GPU服务器、......
  • Spring Boot 学习笔记
    SpringBoot简介为什么要使用SpringBoot因为Spring,SpringMVC需要使用的大量的配置文件(xml文件)还需要配置各种对象,把使用的对象放入到spring容器中才能使用对象......
  • 企业vr产品开发的解决方案-深圳华锐视点
    伴随着VR全景技术成熟,我们的场景交互方式也越来越丰富,在其他线上展示方面,企业VR开发可以应用到博物馆、学校、景区、园区、工厂等场所。VR旅游将VR虚拟现实......
  • 【SpringBoot】引入mybatis及连接Mysql数据库
    创建一个SpringBoot项目其他不赘叙了,引入MyBaties、MySql依赖编辑 创建mysql表CREATETABLEsp_users(`id`INTPRIMARYKEY,`username`VARCHAR(30),`age`INT);刚......
  • 注解Annotation
    1.1简介注解Annotation,也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局......