Java 第六天 Spring Annotation 和其它
Annotation,是Java语言中的一种特殊的元数据语法,Spring支持使用annotation来进行对象实例化和装配
使用Annotation在Spring的配置xml中添加context命名空间(黄色部分):
<?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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config />
<context:component-scan base-package="com.xpp"/>
</beans>
同时添加 <context:annotation-config/> 结点,如此也同时隐式注册了AutowiredAnnotationBeanPostProcessor, CommonAnnotationBeanPostProcessor, PersistenceAnnotationBeanPostProcessor和RequiredAnnotationBeanPostProcessor
Postprocessor: bean初始化完成之后的"处理器”
@Autowired 可以写在任何方法上
a) 默认按类型by type
b) 如果想用byName,使用@Qulifier
c) 写在private field(第三种注入形式)(不建议,破坏封装)
d) 如果写在set上,@qualifier需要写在参数上
@Required
必须在配置文件中指定并在初始化时注入
@Resource
使用JSR 250, 默认byName
a) 需要jar包:common-annotations.jar
b) 默认byName,然后byType
c) 可以指定特定名称
d) 推荐使用
Annotation表示bean
添加 <context:component-scan base-package="package.scan.root"/>
@Component, @Service, @Repository, @Controller在ApplicationContext实例化时初始化成对象,(对应配置文件中的bean)
a) 初始化的名字默认为类名首字母小写
b) 可以指定初始化bean的名字
@Scope
singleton(默认) 和 prototype
@PostConstruct @PreDestory
对应于配置文件bean的init-method和destroy-method。构造和初始化时执行的方法
一些背景知识
1. JSR – Java Specification Request
向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
2. JSR 250
Common Annotations for the JavaTM Platform https://jcp.org/en/jsr/detail?id=250
3. JCP
JCP - Java Community Process,一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新。
小技巧
1.将Eclipse 锁定到任务栏
在Eclipse 目录下eclipse.ini 文件-vmargs 之前加入下面2行:
-vm
C:\jdk1.7.0_45\bin
2.增强Eclipse智能提示:
打开菜单Windows-->Preferences-->Java-->Editor-->Code Assist,在Auto activation triggers for Java 栏中输入值:@.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(,。如此输入这些字母均可触发智能提示,提高生产率。
Java 第六天 Spring Annotation 和其它的更多相关文章
- JAVA模拟Spring实现IoC过程(附源码)
前言:本人大四学生,第一次写博客,如果有写得不好的地方,请大家多多指正 一.IoC(Inversion of Control)反转控制 传统开发都是需要对象就new,但这样做有几个问题: 效率低下,创 ...
- Spring Annotation Processing: How It Works--转
找的好辛苦呀 原文地址:https://dzone.com/articles/spring-annotation-processing-how-it-works If you see an annot ...
- RabbitMQ与java、Spring结合实例详细讲解(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文介绍了rabbitMq,提供了如何在Ubuntu下安装RabbitMQ 服务的方法. ...
- (转)java之Spring(IOC)注解装配Bean详解
java之Spring(IOC)注解装配Bean详解 在这里我们要详细说明一下利用Annotation-注解来装配Bean. 因为如果你学会了注解,你就再也不愿意去手动配置xml文件了,下面就看看 ...
- Java框架spring 学习笔记(十四):注解aop操作
回见Java框架spring Boot学习笔记(十三):aop实例操作,这里介绍注解aop操作 首先编写一个切入点HelloWorld.java package com.example.spring; ...
- JAVA的Spring注入机制事例详解
一.前言 最近使用Spring里面的依赖注入,比如StudentServiceImple2.java代码: package di.service.imple; import com.mengya.sp ...
- RabbitMQ与java、Spring结合实例详细讲解
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文介绍了rabbitMq,提供了如何在Ubuntu下安装RabbitMQ 服务的方法. ...
- java的Spring学习3- mybatis
1.java的maven依赖包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourc ...
- java 9 Spring Cloud @EnableEurekaServer javax.xml.bind.JAXBContext not present
java 9 Spring Cloud @EnableEurekaServer javax.xml.bind.JAXBContext not present jdk 8下面还可以正常启动,jdk9 ...
随机推荐
- MySQL数据的主从复制、半同步复制和主主复制详解-转
一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...
- HTTP与HttpServlet
(1).HTTP协议 Web浏览器和服务器通过HTTP协议在Internet上发送和接收消息.HTTP是一种基于请求/响应模式的协议.客户端发送一个请求,服务器端返回对该请求响应. . (2).HTT ...
- 图论Hrbust1708许可证
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1708 #include<st ...
- VC 三点 划 曲线
y = ax2+bx+c 条件,三点成一曲线 pointone(x1,y1)//(y1在X柱上,必须为零,如果不为零这个公式要重新求值) pointtwo(x2,y2)// 可以为任意值 pointt ...
- iptable怎么用?
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 80 -j DROP [拒绝转发来自10.0.0.0/8网段,目的端口是80的数据包]
- <关于数据仓库>基于docker的Mysql与Hadoop/Hive之间的数据转移 (使用Apache Sqoop™)
原创博客,转载请联系博主! 摘要:本文介绍了如何使用docker快速搭建一个可以从外部访问的mysql服务容器,和由docker搭建的分布式Hadoop文件系统,并且使用ApacheSqoop完成将m ...
- word2010忽然无法撤销
转:http://tieba.baidu.com/p/1115124288 第三楼 关闭正在运行的所有程序. 按Win-R,在运行框中键入regedit,然后单击“确定”. 在注册表编辑器中, ...
- MSP430F149学习之路——蓝牙模块
注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...
- javascript各种兼容性问题,不断更新
ie6-ie8 不支持textContent支持innerTextchrome 支持textContent innerTextfireFox 仅支持textContent不支持innerTe ...
- LED点阵显示名字
学习了一周的单片机,然后中途有事打断了两周,现在温习一下之前学的东西,用“普中科技单片机”上的LED点阵显示自己的名字. P1接J19(绿).P2接J20(红),P0接J12(数码管段选):5V电压: ...