javaSpring学习总结day_02
使用注解注入:
1.用于创建bean对象
@Component:
作用:相当于配置了一个bean标签
位置:类上面
属性:value,含义是bean的id,当不写时,有默认值,默认值是当前类的短名,首字母小写
由此注解衍生的三个注解:
@controller 一般用于表现层注解
@Service 一般用于业务层
@Repository 一般用于持久层
他们和@Component的作用及其属性都是一模一样的
2.用于注入数据的
@Authowired
作用:自动按照类型注入。只要有位移的类型匹配就可以。
当我们使用注解注入时,set方法就不是必须的。
如果注入的bean在容器中不唯一,他会把变量名称作为bean的id,在容器中查找,找到后也能注入成功
如果没有找到一致的bean的id时,则报错
@Qualifier :@Qualifier("beanid") 或 @qualifier(value = "beanid") 当"="号前面为value且注解只有一个属性时可以省略赋值名value不写
@Authowired
@Qualifier("beanid")
Class className;
或:
@Authowired
public void setName(@Qualifier("beanid") Class className){}
作用:在自动按照类型注入的基础上,再按照bean的id注入。他在给类成员注入数据时,不能独立使用,但是给方法的形参注入数据时们可以独立使用
属性:
value:用于指定bean的id
@Resource :@Resource(name = "beanid")
作用:直接按照bean的id注入
属性:
name:用于指定bean的id
以上三个注解都是用于注入其他bean类型的。用于注入基本类型和String类型需要使用value
@Value:
作用:用于注入基本类型和String类型数据,它可以借助spring的el表达式读取properties文件中的配置
属性:
value:用于指定要注入的数据
3.用于改变作用范围的
@scope:
作用:用于改变bean的作用范围
属性:
value:用于指定范围的取值,取值和xml中scope取值一样:
singleton prototype request session globalsession
4.spring的新注解
@Bean 把方法的返回值存入spring容器中,该注解有一个属性,name:用于指定bean的id,当不指定时,有默认值,默认值是方法的名称
@Configuration 把当前类看成spring的配置类
@Import 导入其他配置类 @Import(JdbcConfig.class)
@PropertySource 导入.properties资源文件 @PropertySource("classpath:Config/JdbcConfig.properties"
使用注解注入时,需要在bean.xml中配置:
<context:component-scan base-package="包名"/>
这是用来告知spring在创建容器时要扫描的包,当配置了这个标签后,spring创建容器就会去指定的包下找对应的注解
这个标签是在一个context的名称空间里面,所以必须先导入context的包
除此之外,可以不在bean.xml中配置也可以做到这种效果:
首先需要先创建一个java类,然后在这个类的上方使用@Configuration标签,就把当前类看做成spring的配置类
然后,使用@ComponentScan(basePackages = "包名")标签,就可以达成<context:component-scan base-package="包名"/>的效果
javaSpring学习总结day_02的更多相关文章
- javaSpring学习总结day_01
本文章用于总结自己学习知识,有不足或错误之处清谅解. bean.xml 文件的读取方式: ClassPathXmlApplicationContext: 它是只能加载类路径下的配置文件 推荐 1.加载 ...
- JavaSpring【一、概述】
主要内容 JavaSpring[一.概述] JavaSpring[二.IOC] JavaSpring[三.Bean] JavaSpring[四.Bean管理注解实现] JavaSpring[五.AOP ...
- day_02~day_09的Python语法基础
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...
- Python基础语法day_02——字符串规则
day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> print(nam ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- Delphi Format函数功能及用法详解
DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...
- HTML——表单标签
表单标签(掌握) 现实中的表单,类似我们去银行办理信用卡填写的单子. 如下图: 目的是为了收集用户信息. 在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单. 在HTML中,一个完 ...
- DELPHI 异形窗体
一定有很多人看到过一些奇形怪状的窗体,例如一些屏幕精灵.其实实现起来非常容易,做到三点就好啦.下面我使用Delphi做了一个VCL控件(TBmpShape),你只需要指定一幅图片就可以将窗体变成你的图 ...
- NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix
1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...
- MDK(KEIL) 两步解决 中文乱码 及 中文光标 半个半个跳的问题
1. 如果已经用MDK(KEIL)的默认设置写了好多中文,那么先用notepad把文件一一打开然后转变编码格式为 utf-8 without ROM,如下: 2. 如果还没有开始编辑,或者已经用not ...
- 神经网络中使用Batch Normalization 解决梯度问题
BN本质上解决的是反向传播过程中的梯度问题. 详细点说,反向传播时经过该层的梯度是要乘以该层的参数的,即前向有: 那么反向传播时便有: 那么考虑从l层传到k层的情况,有: 上面这个 便是问题所在.因为 ...
- 2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19)
2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19) easy: ABFGHI medium-ea ...
- Datagrid 的 SelectItem 和 SelectValue 如何区分、DataContext 和 ItemSource 在绑定时该绑哪个?
1.selecteditem.selectedvalue.selectedvaluepath三个属性 场景: class T { public string A { get; set; } publi ...
- flutter 底部bottomNavigationBar凸起效果
概要 最近在做flutter 的时候,之前看到想实现 底部导航栏中间按钮 凸起效果, 最近想做又突然找不到方案了,因此记录下这里的实现方式. 预览效果 代码 主要使用 BottomAppBar 组建, ...
- c#WinForm程序调用vsto动态库,已解决
最近做一个vsto的项目,涉及到Form程序调用vsto动态库,弄了半天,搜了很多资料终于搞定了,把积累写下来备以后用.相关网址: https://stackoverflow.com/question ...