return repository.findOne(id); } @Override public Todo update(Todo todo) { repository.save(todo); return todo; } } 最后把Controller中的所有方法改为使用Service的简单调用就大功告成了。 public class TodoController { private TodoService service; @Autowired public TodoController(Todo...
其中base-package为需要扫描的包(含所有子包) @Service用于标注业务层组件,@Controller用于标注控制层组件(如struts中的action),@Repository用于标注数据访问组件,即DAO组件,而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 @ServicepublicclassVentorServiceImplimplementsiVentorService{ } @Repos...
AliasFor注解的作用是起别名,这里使用这个注解的作用就是将默认方法与Component中的默认方法进行值传递了,在我们不指定值时他们都是“”,若是为Controller、Service、Repository他们指定值,则也就是为Component指定了。 综合以上两点,就很明显了,当Controller、Service、Repository的所有处理其实都是相当于交给了Component处理...
需要注意的是@Controller,@Service,@Repository都有带@Component父注解,说明它们除了基本组件的属性外还有其他的的场景应用,即如果不用SpringMVC其实它们就是一个普通的组件,但普通组件建议最好还是用@Component修饰。 为了让Spring自动扫描注册这些组件,需要在配置文件中加上扫描的配置,如扫描com.test包下的注解。 <cont...
Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。 在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。
在Spring框架中,@Component、@Controller、@Repository、@Service 这四个注解扮演着重要的角色,它们各自有着明确的职责和用途。理解它们的区别有助于我们更好地设计和组织我们的应用程序。 @Component:通用的基石 职责:@Component 是一个泛化的概念,用于标记一个类为Spring容器管理的组件。它是所有受Spring管理的组件的...
@Repository 用于标注数据访问组件,即DAO组件 @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注 区别 当启用上下文扫描时,他们都用于自动检测Spring Bean,并且在依赖项注入方面提供了相同的功能。他们唯一的区别就是在于他们的用途,@Controller用于表示层,@Service 用于在服务层中保存业务逻辑的注释...
其中base-package 为需要扫描的包(含所有子包) 可以使用base-package="*"表示全部的类。 @Service 用于标注业务层组件, @Controller 用于标注控制层组件(如 struts 中的 action ) ,@Repository 用于标注数据访问组件,即 DAO 组件,而 @Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
4.51. @Component、@Controller、@Repository、@Service 有何区别?@Component:这将 java 类标记为 ...
@Service 用来表示一个业务层bean。 @Repository 用来表示一个持久层bean,即数据访问层DAO组件。 @Component 用来表示一个平常的普通组件,当一个类不合适用以上的注解定义时用这个组件修饰。 需要注意的是@Controller,@Service,@Repository都有带@Component父注解,说明它们除了基本组件的属性外还有其他的的场景应用,即如...