@SuppressWarnings("unchecked")
@Repository
public class XXXDao extends HibernateDao<XXX, Long> {
@Repository持久层组件,用于标注数据访问组件,即DAO组件
@Service
public class XXXServiceImpl extends
CommonServiceImpl<XXX, Long> implements
XXXService {
@Service注释表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如XXX实例化为xXX,Ame实例化为ame,如果需要自己改名字则:@Service("你自己改的bean名")。
作用在业务层。
public class XXXAction extends AllAction<XXX, Long> {
private XXXService _xXXService;
@Resource
public void setXXXService(XXXService service) {
_xXXService = service;
}
@Override
protected CommonService<XXX, Long> getService() {
return _xXXService;
}
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。@Resource有两个属性是比较重要的,分别是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Resource装配顺序:
a.如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
b.如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
c.如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
d.如果既没有指定name,又没有指定type,则自动按照byName方式进行装配(见2);如果没有匹配,则回退为一个原始类型(UserDao)进行匹配,如果匹配则自动装配;
@Autowired注解(不推荐使用,建议使用@Resource)
Resource 注释类位于 Spring 发布包的 lib/j2ee/common-annotations.jar 类包中,因此在使用之前必须将其加入到项目的类库中.
一般情况下,我们无需使用类似于 @Resource(type=Car.class) 的注释方式,因为 Bean 的类型信息可以通过 Java 反射从代码中获取。 要让 JSR-250 的注释生效,除了在 Bean 类中标注这些注释外,还需要在 Spring 容器中注册一个负责处理这些注释的 BeanPostProcessor: <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/> CommonAnnotationBeanPostProcessor 实现了 BeanPostProcessor 接口,它负责扫描使用了 JSR-250 注释的 Bean,并对它们进行相应的操作。
@Entity
@Table(name = "XXX")
@GenericGenerator(name = "seq_XXX", strategy = "sequence", parameters={@Parameter(name="sequence",value="seq_XXX")})
public class XXX implements Serializable {
@entity是指这个类映射有数据库表,那么你不使用这个类时,后台不会对其进行处理,只有当你从数据库读取数据时,由于你要读取的表映射有实体类(@entity注释的),那么后台会自动帮你实例化一个对象,然后将数据库中的数据填充到对象中!
分享到:
相关推荐
基于注解的spring mvc,dao 层注解:@Repository("userDao"), entity层注解:@Entity,service层注解:@Service("userService"), action层注解:@Controller("userController") @RequestMapping("/user.do")
SSH是Java Web开发中的三个重要框架的简称,分别代表Struts2、Hibernate和Spring。这三大框架的整合能够实现高效...开发者可以根据实际需求,灵活地在Action、DAO和Service层使用各种注解,实现高效的企业级应用开发。
3. 在实体类、DAO接口、Service接口及其实现、Action类上添加注解。 4. 创建数据库连接配置,如DataSource。 5. 配置Spring的事务管理器。 6. 在Struts2的配置中定义Action的入口和结果跳转。 7. 运行项目并进行测试...
5. 数据访问对象(DAO)和业务服务(Service)类,利用了Spring的DI和Hibernate的ORM能力。 通过这个实例,你可以学习到如何在不使用XML配置的情况下,利用Java注解实现Struts2、Spring和Hibernate的整合。这有助于...
在S2SH中,Spring主要负责管理Bean,包括Struts2的Action、Service以及DAO等。Spring的注解如`@Autowired`用于自动装配依赖,`@Service`、`@Repository`和`@Controller`用于标记不同类型的Bean。半注解方式意味着...
”、“Service DAO SSH Action”以及“SSH Com DAO DAO”标签,分别对应了SSH框架中的不同组件和设计模式。 首先,Struts2(Action!)是MVC(Model-View-Controller)框架的一部分,负责处理用户请求并转发到相应的...
Spring3引入了大量注解,如`@Autowired`实现自动装配,`@Service`、`@Repository`和`@Controller`对Bean进行分类,`@Transactional`用于声明事务管理,使得代码更加模块化和易于测试。 3. **Hibernate**:Hibernate...
在这个基于Spring注解的SSH2框架集成中,我们将深入探讨如何将这三个组件有效地整合,并利用Spring的注解驱动特性提升开发效率。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,它在Struts1的基础上...
Struts2、Hibernate和Spring是Java开发中常用的三大框架,它们分别负责Web层、持久层和业务层的管理。在本项目中,我们将探讨如何将这三个框架通过注解方式进行整合,实现巴巴运动网部门功能的重写。这篇文章将提供...
`@Autowired`注解可以自动将SessionFactory注入到Action或Service中,从而实现对数据库的操作。同时,Spring的AOP(面向切面编程)能力可以方便地处理全局异常和事务控制。 在“ysnShop”项目中,可能包含了使用...
SSH(Struts2、Spring、Hibernate)...总的来说,这个项目提供了一个使用SSH框架和Spring注解实现的登录功能实例,通过分析和学习,你可以更好地理解SSH框架的工作原理以及如何在实际项目中应用Spring注解来简化开发。
整合Struts2、Hibernate和Spring,我们通常会使用Spring的ApplicationContext来管理Bean,包括Action类、Service层和DAO层。Service层作为业务逻辑层,调用DAO层的方法进行数据操作。而DAO层通过泛型接口和实现类,...
在2.5版本中,Spring引入了更强大的注解支持,如@Service、@Repository和@Controller,这些注解可以将组件自动注册到Spring容器中,减少了XML配置。例如,@Service用于标记业务层类,@Repository用于数据访问层,@...
在Service或DAO层,使用`@Transactional`注解声明方法需要事务管理。 **4. Struts2 Action的创建** 在本项目中,Struts2自身创建Action意味着Action类的实例化由Struts2框架自动处理,而不是在Spring中定义bean。这...
1. 使用Spring注解定义bean、组件扫描和依赖注入。 2. 在Struts2 Action中定义CRUD操作并使用注解配置请求路径和结果页面。 3. 利用Hibernate注解定义实体类和关联关系,实现DAO接口并配置事务管理。 4. 创建继承自...
在本系统中,可能有`StudentService`接口和其实现类,使用`@Service`注解标记,Spring会自动管理这些服务,并通过@Autowired自动注入所需的DAO层对象。 MySQL是关系型数据库,用于存储学生信息。在这个系统中,它...
3. **配置DAO**:使用Spring的`@Repository`注解标记DAO接口,通常会配合`@Autowired`注入SessionFactory或EntityManager。 4. **服务层**:使用`@Service`注解标记服务类,这里会包含业务逻辑,同样可以使用`@...
Struts2的Action可以通过`@Autowired`从Spring上下文中获取Service层对象,进行业务处理,而Hibernate则负责与数据库交互。 为了实现SSH的整合,首先,你需要在项目中引入这三个框架的依赖库。然后,配置Spring的`...
在S2SH整合中,比如在Spring中可以使用`@Component`、`@Service`、`@Repository`、`@Controller`等注解声明Bean,而Hibernate可以通过`@Entity`、`@Table`、`@Id`等注解定义实体类。 5. **JSON**:JavaScript ...
SSH(Struts2、Spring、Hibernate)是Java Web开发中常用的三大框架,它们结合使用能够构建出高效、灵活的企业级应用程序。在这个“SSH纯注解开发”主题中,我们将深入探讨如何利用注解来简化这三大框架的配置,提高...