Spring学习笔记(二) --- Spring的Bean的管理

2021-04-13 14:57:09 浏览数 (1)

1、Spring的Bean的管理XML的方式

Ⅰ、Spring的Bean的普通属性注入

【构造方法的方式注入普通属性】

代码语言:javascript复制

【set方法的方式注入普通属性】

代码语言:javascript复制

Ⅱ、Spring的属性注入:对象类型的注入

代码语言:javascript复制

Ⅲ、名称空间p的属性注入的方式:Spring2.x版本后提供的方式

代码语言:javascript复制
第一步:引入p名称空间



第二步:使用p名称空间.

    * 普通属性:    		p:属性名称=””
    * 对象类型属性:	p:属性名称-ref=””

Ⅳ、SpEL的方式的属性注入:Spring3.x版本后提供的方式

代码语言:javascript复制
SpEL:Spring Expression Language.

语法:#{ SpEL }

	

	
		
		
	

    
    	
    	
    

	
	
 	引用了另一个类的属性

Ⅴ、注入复杂类型

代码语言:javascript复制
				会希
				冠希
				天一
			
		
		
		
		
			
				芙蓉
				如花
				凤姐
			
		
		
		
		
			
				
				
				
			
		
		
		
		
			
				root
				123

Ⅵ、Spring的配置文件的开发

代码语言:javascript复制
一种:创建工厂的时候加载多个配置文件:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml","applicationContext2.xml");

二种:在一个配置文件中包含另一个配置文件:

2、Spring的Bean管理-注解方式

步骤一:下载Spring的开发包

步骤二:创建web项目,引入Spring的开发包

在Spring的注解的AOP中需要引入spring-aop的jar包

步骤三:引入相关配置文件

log4j.properties

applicationContext.xml

代码语言:javascript复制
引入约束:
spring-framework-4.2.4.RELEASEdocsspring-framework-referencehtmlxsd-configuration.html

* 引入约束:(引入context的约束):

步骤四:编写相关的类

代码语言:javascript复制
public interface UserDao {
	
	public void sayHello();
}

public class UserDaoImpl implements UserDao {

	@Override
	public void sayHello() {
		System.out.println("Hello Spring...");
	}

}

步骤五:配置注解扫描

代码语言:javascript复制

步骤六:在相关的类上添加注解

代码语言:javascript复制
@Component(value="userDao")
public class UserDaoImpl implements UserDao {

	@Override
	public void sayHello() {
		System.out.println("Hello Spring Annotation...");
	}

}

步骤七:编写测试类

代码语言:javascript复制
@Test
	public void demo2() {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
				"applicationContext.xml");
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");
		userDao.sayHello();
	}

3、Spring的Bean管理的中常用的注解

Ⅰ、@Component:组件.(作用在类上)

代码语言:javascript复制
Spring中提供@Component的三个衍生注解:(功能目前来讲是一致的)

* @Controller	:WEB层
* @Service		:业务层
* @Repository	:持久层

这三个注解是为了让标注类本身的用途清晰,Spring在后续版本会对其增强。

Ⅱ、属性注入的注解:(使用注解注入的方式,可以不用提供set方法.)

代码语言:javascript复制
@Value		:用于注入普通类型.

@Autowired	:自动装配,默认按类型进行装配.

@Qualifier   :按名称注入,强制使用名称注入.

@Resource相当于: @Autowired和@Qualifier一起使用.

Ⅲ、Bean的作用范围的注解

代码语言:javascript复制
@Scope:

* singleton:单例

* prototype:多例

Ⅳ、Bean的生命周期的配置

代码语言:javascript复制
@PostConstruct	:相当于init-method

@PreDestroy		:相当于destroy-method

4、Spring的Bean管理的方式的比较

* XML   :结构清晰.

* 注解   :开发方便.(属性注入.)

实际开发中还有一种XML和注解整合开发:Bean有XML配置.但是使用的属性使用注解注入.

0 人点赞