首页 > 其他分享 >Spring配置文件和注解

Spring配置文件和注解

时间:2023-03-30 15:03:33浏览次数:48  
标签:Qualifier 配置文件 对象 Spring ink 名称 注解 Scope


applicationContext.xml配置文件

beans 标签里面引入命名空间 步骤:复制xmlns 然后修改名称为命名空间名字

  1. xmlns:名称=“http://www.springframework.org/schema/名称
  2. http://www.springframework.org/schema/名称
    http://www.springframework.org/schema/名称/spring-名称-3.2.xsd
<?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.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.2.xsd">

    <!-- 自动注解扫描 -->
	<context:component-scan base-package="mybatisDemo" />

</beans>

接口实现类中的注解

  • @Autowired //找相同类型的对象名 称和类型的默认对象名相同 除非取别名
  • @Qualifier(“名称”)//只找对象名和属性名一样 在这个类有多个对象时使用 通过名称可指定对象
  • @Resource//先找名称相同,再找类型

@Component 注解

创建一个注解的对象存入上下文中

@Component(“对象名”)

创建一个指定对象名的对象

@Transactional 注解管理事务

标注该类有事务管理

@Autowired 和 @Qualifier(“名称”) 注解

@Component
public class PrinterImpl implements Printer {
    //方法一
	@Autowired//找相同类型的对象
    @Qualifier("名称")//指定对象的名称
	private Ink ink;

    //方法二
	@Autowired
	public PrinterImpl(@Qualifier("inkImpl") Ink ink,
			@Qualifier("a4Page") Page page) {
		this.ink = ink;
		this.page = page;
	}
}

@Resource 注解

@Resource//先找名称相同,再找类型
	private Ink ink;

@Scope(“prototype”)

@Transactional
@Scope("prototype")
@Service("userService")
public class UserServiceImpl implements UserService {
}
  • @Scope(“prototype”)//多实例,IOC容器启动创建的时候,并不会创建对象放在容器在容器当中,当你需要的时候,需要从容器当中取该对象的时候,就会创建。
  • @Scope(“singleton”)//单实例 IOC容器启动的时候就会调用方法创建对象,以后每次获取都是从容器当中拿同一个对象(map当中)。
  • @Scope(“request”)//同一个请求创建一个实例
  • @Scope(“session”)//同一个session创建一个实例


标签:Qualifier,配置文件,对象,Spring,ink,名称,注解,Scope
From: https://blog.51cto.com/loveddz/6159585

相关文章