java实训笔记_Spring的注解注入
1 前言
上一篇写了spring的事务
这一篇写一下spring的注解注入
2 本篇内容
本篇介绍了spring的注解注入中的引入、注解介绍
3 注解的引入
首先需要引入注解注入,定义扫描的包
3.1引入注解注入
Spring的配置文件写为
<?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-4.3.xsd"> </beans>
3.2 定义扫描的包
在
<beans></beans>标签内定义
<context:component-scan base-package=""></context:component-scan>
其中base-package就是要扫描的包的路径,也会扫描到它的子包。
扫描多个包时,用逗号隔开,也可单独写成不同的标签。
4 注解介绍
和参考链接3中那样按功能将注解分类
4.1 用于对象创建的注解
用于对象创建的注解有四个 @Component,@Controller,@Service,@Repository
作用相同,在Spring容器中注册,类似于
<bean></bean>标签,用value值指定bean的id,不指定value时默认为当前类名首字母小写。
用的地方不同,
@Service: service层
@Controller: web层
@Repository: dao层
@Component:任意
4.2 用于注入数据的注解
注入数据其实就是类中属性的值的注入,按属性类型来分
4.2.1 基本数据类型和String型的注入
基本数据类型和String型使用@Value注入
value用于指定数据的值,可以使用spring中的SpEL,SpEL没学过,不展开。
4.2.2 引用类型的注入
引用类型注入可以使用@Autowired或者@Resource注入,@Qualifier注解用于当一个接口中有多个实现的时候,指明具体实现类。
@Autowired注解可以用于属性、构造方法、setter方法,spring会去容器中找对于的类型,注入到该属性中,使用@Autowired注解可以不提供getter、setter方法,如果有多个实现可以配合@Qualifier指定具体的实现。
@Resource注解作用相当于@Autowired注解,只不过@Autowired按byType自动注入,@Resource默认按byName注入。
如果想要更进一步了解可以查看参考链接4
4.2.3 集合类型的注入
集合类型只能通过xml来实现
4.3 用于改变作用范围的注解
@Scope注解,与
<bean scope=""></bean>类似,用于指定bean的作用范围,用在类上
value值有singleton、prototype、request、session
4.4 与生命周期相关的注解
@PreDestory指定销毁方法,@PostConstruct指定初始化方法,用在方法上
5 结语
1.在chrome中可以使用ctrl多选,然后左键拖拽到其他地方将选中的窗口建立成新的窗口。
2.现在关于什么什么层的概念还比较模糊,以后项目实战了应该会有更清晰的理解。
3.因为是上课的时候老师一笔带过,自己课后找的资料,所以本文会更偏理论一些。
6 参考链接
1.spring-包扫描时-包名写多个
2.spring 配置扫描多个包
3.spring 使用注解注入
4.Spring-注解依赖注入
5.Spring之基于注解的注入
6.@Repository的作用?
7.关于spring中的@Service注解
8.@Service注解的使用
9.Spring的注解@Qualifier用法
10.@Scope注解的作用详解
- spring注解方式在一个普通的java类里面注入dao
- 从头认识Spring-2.4 基于java的标准注解装配-@Inject(1)-通过属性域注入
- spring学习笔记13(注解@Autowired方式注入)
- Spring学习笔记(二)——注解创建对象和注入属性
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- spring注解方式在一个普通的java类里面注入dao
- Java spring注解方式注入
- SPRING IN ACTION 第4版笔记-第二章-003-以Java形式注入Bean、@Bean的用法
- 【日常笔记】java spring 注解读取文件
- Spring学习笔记——关于Spring注解扫描不能注入new对象问题
- [java][spring]注解方式注入
- 学习笔记(03):核心篇:SpringBoot快速入门-Spring JavaConfig-Spring Boot的启动类注解简要介绍...
- Java 学习笔记05:Spring 基于注解(Annotation)的IOC
- 从头认识Spring-2.4 基于java的标准注解装配-@Inject(2)-通过set方法或者其他方法注入
- Java学习笔记38:通过Spring Bean 注入static变量,来设计一套适合测试,开发,生产环境的配置项
- JAVA温习:Spring的注解注入及区别 @Resource @Autowired
- java学习笔记之Spring依赖注入和控制反转
- Spring学习笔记(12.基于java的容器注解)
- 详解Java Spring各种依赖注入注解的区别
- Java 学习笔记06:Spring 基于注解(Annotation)的AOP