Jua*_*ano 25 java spring annotations spring-mvc
我正在使用spring-mvc开发一个Web应用程序.
现在可以使用@ Controller,@ Service和@Repository构造型.
我发现@Controller特别有用,特别是因为我正在使用
<context:component-scan base-package="my.cool.controller"/>
Run Code Online (Sandbox Code Playgroud)
现在,关于@Service和@Repository,到目前为止看起来像
那么,除了更好的例外,还有其他任何优势吗?注释类是否会影响性能?
Jee*_*til 56
刻板印象的解释:
@Service - 使用@Service注释所有服务类.该层知道工作单元.您的所有业务逻辑都将位于服务类中.通常,服务层的方法包含在事务中.您可以从服务方法进行多个DAO调用,如果一个事务失败,则所有事务都应该回滚.@Repository - 使用@Repository注释所有DAO类.您的所有数据库访问逻辑都应该在DAO类中.@Component - 使用组件构造型注释您的其他组件(例如REST资源类).@Autowired - 让Spring使用@Autowired注释将其他bean自动连接到您的类中. @Component是任何Spring管理组件的通用构造型.@Repository,@Service和,并且@Controller是@Component更具体的用例的特化,例如,分别在持久性,服务和表示层中.
使用它们的原因:
bean在上下文xml文件中编写定义.而是通过自动装配来注释类并使用它们.现在,使用上下文xml bean和注释的实际性能影响是相同的.组件扫描有点贵(当您扫描@Service,@ Component时).注释用反射"解析",xml - 用xml解析器.但是,正如你所说,它是启动时 - 它只发生一次.在中等机器上,即使注释也可以很快启动.
| 归档时间: |
|
| 查看次数: |
20787 次 |
| 最近记录: |