Spring 使用注解的简单梳理
来源:互联网 发布:女朋友无理取闹 知乎 编辑:程序博客网 时间:2024/06/06 23:38
注解是基于Spring的。
所谓的是基于Spring而言的,所以对注解的配置是在spring的配置文件中的,一般放在主配置文件中。
Spring配置中常用的命名空间,一般的Spring配置都能满足需求:
<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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
涉及到注解的部分是:
xmlns:context="http://www.springframework.org/schema/context"
之所以会用到这个因为在使用注解功能时有一个自动扫描beans和注解功能注册的配置。
如下:
<context:component-scan base-package="com.rlcc"/>
在加载Spring配置文件时会自动扫描这些包中的bean.
Action Dao Service 注解配置详细如下:
Action:基本配置:
@Controller
public class ExampleAction
如果action需要有范围:
@Controller
@Scope("prototype")
public class ExampleAction
使用@Controller表示控制层组件
对应范围解释如下:
默认情况下,从bean工厂所取得的实例为Singleton(bean的singleton属性) Singleton: Spring容器只存在一个共享的bean实例,
默认的配置。 Prototype: 每次对bean的请求都会创建一个新的bean实例。二者选择的原则:有状态的bean都使用Prototype作用域
,而对无状态的bean则应该使用singleton作用域。
在 Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和 global session。如
果你希望容器里的某个bean拥有其中某种新的web作用域,除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始
化配置。即在web应用的web.xml中增加这么一个ContextListener:
org.springframework.web.context.request.RequestContextListener 以上是针对Servlet 2.4以后的版本。
Service基本配置:
@Service("exampleService")
public class ExampleServiceImpl
@Service表示业务层组件
其中括号中的名字是自定义的名字(推荐使用这种方法,不容易乱,默认是getBean)
Dao 基本配置:
@Repository
public class SubDAO
这里的@Repository表示的是数据访问组件,Dao层往往会涉及到事务问题这就如下配置(不推荐使用):
@Repository @Transactional
public class BaseDaoImpl
在实际开发中一般从统一性和规范性考虑,使用AOP对事务进行处理,对@Transactional的用法不再赘述。
好,现在可以用注解标识出各组件了,那么各组件之间的关系又怎样用注解方式来表达呢?
具体如下:
Action中注入业务组件Service:
@Resource
private ExampleService exampleService;
Service注入数据访问组件Dao:
@Resource
private BaseDao dao;
可以看到只需使用@Resource就可以完成注入。
对于这里的变量名可以任意。
以上为自己对Web开发中的注解的一点简单梳理,都是些最基本的东西,提供给大家参考参考。
- Spring 使用注解的简单梳理
- spring使用注解的简单例子
- spring注解的使用
- Spring注解的使用
- spring注解的使用
- Spring注解的使用
- spring注解的使用
- 使用注解来构建简单的spring mvc
- Spring 关于注入注解的使用简单记录
- lucene3.x的简单使用梳理
- 注解的简单使用
- spring Quartz 使用梳理
- Spring 源码梳理(七) 注解源码
- Spring各个注解的使用
- Spring常见注解的使用
- Spring中注解的使用
- Spring @Conditional注解的使用
- Spring @Value注解的使用
- web.xml中两种配置error-page的方法
- ibatis与spring的集成
- Eclipse下手动安装“Dynamsoft SourceAnywhere for VSS”插件
- zoj 2314 Reactor Cooling
- activate the flashback in 11G
- Spring 使用注解的简单梳理
- DataGridView添加ComboBox
- Windows操作系统堆和栈的区别
- java.lang.OutOfMemoryError: Java heap space的解决方法
- windows开机密码跳过
- 反编译apk工具
- java设计模式之浅见(一)-----初学javame
- 坚持就是胜利
- java 充当浏览器访问网站