【从零开始学Spring笔记】IoC的注解开发

大家可以关注作者的账号,关注从零开始学Spring笔记文集。也可以根据目录前往作者的博客园博客进行学习。本片文件将基于黑马程序员就业班视频进行学习以及资料的分享,并记录笔记和自己的看法。欢迎大家一起学习和讨论。

【从零开始学Spring笔记】Spring学习路线

创建项目测试

第一步:创建web项目,引入jar包
【从零开始学Spring笔记】IoC的注解开发_第1张图片
除了之前使用的jar包外,要需要引入一个aop的jar包。可以在以前下载解压后的libs文件夹中寻找,同时也上传到百度云了,下载即可。下载链接在本系列文集的第一篇【从零开始学Spring笔记】Spring4学习路线中寻找。

第二步:引入Spring的配置文件
在 src下创建applicationContext.xml
引入约束:使用注解开发引入context约束。
约束:spring framework-4.2.4.RELEASE\docs\spring framework-reference\htm|\xsd-configuration.html

【从零开始学Spring笔记】IoC的注解开发_第2张图片


第三步:创建接口和实现类
接口

package com.tyust.spring.demo1;

public interface UserDAO {
	public void save();

}

实现类

package com.tyust.spring.demo1;

import org.springframework.stereotype.Component;

@Component("userDao")//相当于
public class UserDAOImpl implements UserDAO {

	@Override
	public void save() {
		System.out.println("保存用户的方法执行了...");

	}

}

第四步:开启Spring组件扫描



		
		
		
		



第五步:编写测试类

package com.tyust.spring.demo1;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringDemo1 {
	public static void main(String[] args) {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserDAO ud =(UserDAO) applicationContext.getBean("userDao");
		ud.save();
	}

}

注解方法是来设置属性值

使用注解方式,可以没有set方法的。属性如果有set方法, 需要将属性注入的注解添加到set方法。属性如果没有set方法,需要将属性注入的注解添加属性上。

	@Value("123")
	private String name;
	
//	@Value("123")
//	public void setName(String name) {
//		this.name = name;
//	}

Spring注解的详解

@Component:组件

修饰一个类,将这个类交给Spring管理。
这个注解有三个衍生注解(功能类似)。
@Controller : web层
@Service: service层
@Repository : dao层

普通属性的注解

@Value:设置普通属性的值
@Autowired(value = "") :设置对象类型的属性的值。但是按照类型完成属性注入。
◆我们习惯是按照名称完成属性注入:必须让@Autowired 注解和@Qualifier 一起使用完成按照名称属性注入。
@Resource(name = ""):完成对象类型的属性的注入。按照名称完成属性注入。

Bean的其他的注解

生命周期相关的注解(了解)
@PostConstruct : 初始化方法
@PreDestroy:销毁方法

Bean作用范围的注解
@Scope:作用范围
参数:
singleton : 默认单例
prototype:多例
requestw
session
globalsession

你可能感兴趣的:(【从零开始学Spring笔记】IoC的注解开发)