<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
一、@Autowired注解:
如要仅仅使用此注解,需要在spring容器中声明该注解的解析Bean:
<bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor"/>
该bean会自动扫描spring中所有autowired注解,默认是类型匹配。
当所自动注入的bean超过1个,或者没有时,都会报BeanCreationException错
该注解可以用在变量上面,方法,构造方法上面,对方法传入的参数进行注入
二、@Qualifier注解:
该注解制定autowired注入bean的名称,所以它是对变量注释的:
@Autowired
public Boss(Car car , @Qualifier("office")Office office){
//方法体
};
@Autowired
@Qualifier("office")
private Office office;
三、@Resource
作用和@Autowired 一样,但是它默认是根据类型来注入,也可更改为type,在lib/j2ee/common-annotations.jar包中,在xml文件中声明:
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>
四、@preConstruct @preDistory
这两个注释是在bean实例化和销毁前执行的方法注释,也就是说,注释在方法上面。这两个注释的功能,也可以通过<bean>元素的 init-method/destory-method来配置
五、<context : annotation-config/>简化配置
在xml文件中配置这句话,就不需要一一引入每种注释的处理类了
spring 2.x 中对context引入了一个新的Schema 命名空间, 该命名空间对注释驱动,属性文件引入,加载期织入等功能提供了便捷的配置,也就是免去了配置每个注释的处理类,默认会注册:
AutowiredAnnotationBeanPostProcessor
、CommonAnnotationBeanPostProcessor
、PersistenceAnnotationBeanPostProcessor
以及equiredAnnotationBeanPostProcessor
这 4 个 BeanPostProcessor。
在配置文件中使用 context 命名空间之前,必须在 <beans> 元素中声明 context 命名空间。
————————————————————可以把类定义成bean的注解-------------------------------------------------------------
六、@Component
在spring2.5中提供该注释,可以直接定义bean,它是个泛泛的概念,可以定义在任何层次(dao、service、controller...)上
七、@Repository
只能定义在Dao层,因为该注解不仅仅是将类识别为bean,而且还能将类所抛出的数据访问异常封装成为spring的数据访问异常,使得异常独立于底层框架
八、@Service
标注在业务层上
九、@Controller
标注在控制层,@Controller(“name”) @Controller(value=“name”)意思是告诉spring注册bean的时候,把bean名字设为name
十、@Scope(“singleton”||”prototype")
该注释是告诉该类在创建bean的时候,是以单例模式,还是每次都重新创建,默认单例。
可以避免struts里面线程安全问题
使用这几个注解,spring会自动创建相应的bean并注册到applicationContext中,默认都是sigleton模式
<context : component-scan base-package=“”> 扫描子包中上面四个注释,然后注册成bean,该语句会默认引入
AutowiredAnnotationBeanPostProcessor
、CommonAnnotationBeanPostProcessor,所以可以不用
<context : annotation-config/>
------------------------------------------------------------------------------------------------------------------------------------------------------------
xml方式和注释方式使用挑选各自优缺:
1、注释是在Java源码上面,如果需要在某个地方加入bean,那就需要调整Java源码,然后重新编译,而XML直接修改就可以了
2、如果bean不是自己写的类,而是Java里面的,那么注释就没法用了。
3、注释配置往往是类级别的,而 XML 配置则可以表现得更加灵活。比如相比于
@Transaction
事务注释,使用 aop/tx 命名空间的事务配置更加灵活和简单。
相关推荐
主要为大家详细介绍了JavaWeb Spring注解Annotation,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
spring,spring mvc,hibernate,ehcache JavaWeb后台框架
java定时器示例 javaweb定时器示例 spring定时器示例,有文章,有例子
spring适用于轻量级Javaweb开发,是非常实用的工具包,
javaWeb, Spring, SpringMvc, MyBatis, MySql, jsp物流系统
JavaWeb开发几个常用的过滤器源码 包括 用于的使 Browser 不缓存页面的过滤器 测用户是否登陆的过滤器 用于设置 HTTP 请求字符编码的过滤器 等
基于javaWeb的博客系统毕业设计项目源码(完美注释+高分必看)也可以作为期末大作业和自己研究,前后端分离的博客系统,难度适中,新手也可自己实操。 基于javaWeb的博客系统毕业设计项目源码(完美注释+高分必看...
spring、 spring mvc、 hibernate、 ehcache JavaWeb后台框架
主要为大家详细介绍了JavaWeb Spring依赖注入,深入学习Spring依赖注入,感兴趣的小伙伴们可以参考一下
JavaWeb Hibernate Struts2 Spring2
第17章是实战篇,主要以HibernateJpetstore为基础,详细地分析了综合使用 struts+Spring+Hibernate开发一个电子商务网站的基本方法和步骤,在具体项目中展示Struts、spring和Hibernate的具体使用方法。 每章都...
普通javaweb项目调用springCloud接口(超级实用,很详细)但是要注意的事一定要对springboot和springcloud的有所了解,不然的话你也是看不懂的,大家一起努力共同学习
javaweb api struts spring hibernate SSH帮助文档三合一。
基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) 基于JavaWeb实现的图书管理系统(struts+spring+hibernate+SQL Server) ...
主要为大家详细介绍了JavaWeb Spring开发入门学习教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本项目采用ssm框架,前端使用bootstrap响应式,页面大气美观,结合mysql数据,项目可以直接运行。
简单的水果系统,采用spring+struts2+hiberate框架编写。含有数据库脚本
java面试题,java基础,javaweb,spring,springmvc,mybatis等
java javaee struts2 spring hibernate免费学习视频教程
5个Javaweb项目+mysql数据库脚本