使用注解配置spring如@Compnent、@Service、@Consroller、@scope和@value的使用
步骤
1.导包4+2+spring-aop
2.为主配置文件引入新的命名空间(约束)
3.开启使用注解代理配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "><!-- 指定扫描cn.itcast.bean报下的所有类中的注解.注意:扫描包时.会扫描指定报下的所有子孙包-->
<context:component-scan base-package="cn.itcast.bean"></context:component-scan></beans>
在类中使用注解完成配置
- 将对象注册到容器
@Component("user")@Service("user") // service层@Controller("user") // web层
他们三个只是名字不同都实现了把user添加到组件中,区别只是通过名称可以知道该逻辑是在哪一个层次中
2.修改对象的作用范围
@Scope(scopeName="singleton|prototype"
3.值类型注入
@Value("18")private Integer age;
通过反射的Field赋值,破坏了封装性
@Value("玛莎拉蒂")public void setName(String name) {this.name = name;}
4.引用类型注入
@Autowiredprivate Car car;
自动装配
问题:如果匹配多个类型一致的对象.将无法选择具体注入哪一个对象.
@Qualifier("car2")//使用@Qualifier注解告诉spring容器自动装配哪个名称的对象
手动装配
@Resource(name="car")//手动注入,指定注入哪个名称的对象
5.初始化|销毁方法
@PostConstruct //在对象被创建后调用.init-methodpublic void init(){System.out.println("我是初始化方法!");}@PreDestroy //在销毁之前调用.destory-methodpublic void destory(){System.out.println("我是销毁方法!");}
使用注解配置spring如@Compnent、@Service、@Consroller、@scope和@value的使用相关推荐
- Spring的理解以及注解配置Spring
Spring概念:是一个轻量级控制反转(IOC)和,面向切面(AOP)的容器.装什么像什么,什么都可以装,管理者是对象.运用于一 式的开发,不排斥任何框架. SpringAOP:.将通知织入到被代理对 ...
- SSM4==通过XML配置spring 事务,通过纯注解配置spring 事务
mysql的事务管理,是指在有关系的表(比如有外键)之间实现ACID,比如表A的金额列的外键是表B的金额列,那么如果A的金额减了300,B的金额也要减少300.如果A减300成功了,B失败了,mysq ...
- SSM3==理解静态代理、动态代理Proxy.newProxyInstance、cglib代理==通过纯XML配置spring AOP,通过纯注解配置spring AOP
静态代理: 为什么要代理?在不改动原代码的基础上,丰富调用某个方法时实现的功能. 比如service类中原本update只会更新,但是通过代理类加上了判断权限和输出时间的功能. 其实这些功能也可以写在 ...
- 基于注解的Spring AOP的配置和使用--转载
AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程.可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. ...
- Spring MVC 5 + Thymeleaf 基于Java配置和注解配置
Spring MVC 5 + Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不 ...
- SpringInAction--Spring Web应用之SpringMvc 注解配置
Spring MVC 是当前Web服务器中常用的结构,今天就来学习这相关的知识,首先上图--Spring请求的时候所经历的坎坷之路: (书上原话,算是解释..) 在请求离开浏览器时① ,会带有用户所请 ...
- Spring注解@Component、@Repository、@Service、@Controller,@Autowired、@Resource用法
一.Spring定义bean,@Component.@Repository.@Service 和 @Controller Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥 ...
- Spring使用注解配置依赖注入
大部分情况下,使用Spring配置依赖注入时,都是使用注解来进行配置,因为注解比xml要方便和简单.不过类似于数据源对象这种配置信息容易变更的对象除外,这种对象使用xml文件来进行配置会更适合,方便于 ...
- spring之旅第四篇-注解配置详解
spring之旅第四篇-注解配置详解 一.引言 最近因为找工作,导致很长时间没有更新,找工作的时候你会明白浪费的时间后面都是要还的,现在的每一点努力,将来也会给你回报的,但行好事,莫问前程!努力总不会 ...
最新文章
- linux设备驱动之pci设备的驱动架构
- 因子(Number_Of_Factors)
- VTK:Utilities之Vector
- 万云:区块链可帮助公证行业创新改革,为互联网公证打下基础
- Python基础学习8 函数
- (转载)二进制与三进制的妙用
- c语言如何写地图,自己用C语言写的扫雷地图
- 《『若水新闻』客户端开发教程》——18.自定义TextView(1)
- 将标签重新定义为4个空格
- 【反思】FB一年八个月工作教训
- 帆软动态列之数据集实现动态列
- 网易云音乐Android一面面经
- QT 打开选择文件对话框
- Axure 安装教程
- [LOL自走棋] 种族职业数据
- 9.28 正睿普及3
- 团队项目介绍--基于区块链的教育信息管理系统
- 【OpenGL】二十一、OpenGL 矩阵压栈与出栈 ( 不同类型矩阵变换先后顺序 | 渲染前不设置单位阵 | 压栈出栈原理分析 | 代码示例 )
- Android的camerax预览拍照
- cmmi3级包含的过程域
热门文章
- 回头看看NSURLConnection
- JAVAWEB入门之Servlet_体系结构
- git如何拉去开发的 最新代码_linux脚本拉取git代码并发布tomcat应用
- 逻辑代数01律的理解_零基础学习计算机原理:布尔逻辑和逻辑门
- 计算机科学系小学教育专业就业前景,小学教育专业就业方向与就业前景
- oracle导入substring,java中substring()和oracle中substr()区别
- python requests session刷新_Python Requests Session set-cookie不生效的坑
- Java并发编程以及并发须知的几个概念:什么是线程安全?
- 二陈丸配什么吃不上火_宝妈一个人带孩子是什么感觉?前三种场景,不知道是怎么熬过来的...
- 黄金分割小数点后100位小数的c语言编程,黄金分割数小数点后100位