Spring MVC 普通类调用service层方法

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

在Spring MVC中,Controller中使用service只需使用注解@Resource/@Autowired就行,但是一般类(即不使用@Controller注解的类)要用到service时,Spring中的Service不是你想new就能new的,因为通过new实例化的对象脱离了Spring容器的管理,获取不到注解的属性值,所以会是null,就算调用service的类中有@Component注解加入了Spring容器管理,也还是null.

一、普通类与工具类共同的解决方法:

这里的普通类指的:是不在spring容器管理下的类,是通过new 来实例化的类。

1、SpringContextUtil

 

package com.fh.interceptor;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
 * Created by 小胡 on 2020/6/17.
 */
public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;  

    // 下面的这个方法上加了@Override注解,原因是继承ApplicationContextAware接口是必须实现的方法
    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
            throws BeansExceptio
MVC框架的daoservice和controller之间的区别与联系 1、dao dao主要做数据持久的工作,负责与数据库进行联络的一些任务都封装在此,dao的设计首先是设计dao的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。 2、service servic... 阅读详情

相关推荐

javaweb开发中如何设计Service

在初学Spring时曾被Service绕晕,为何MVC模式下会多出一个Service?设计Service时候为何需要先写一个接口,然后再去实现?Service之间是否可以相互调用?而这篇文章就是当初疑问的解决,也是对MVC模式深入理解。Service从何而来Spring MVC,是一个MVC框架,提到MVC,大家都不陌生,简单说一下,M为模型,处理数据逻辑,V为视图,负责展示,而C为控制,...

KHOST的博客 3446

SpringMVC普通类调用service

      要想成功实现该效果,主要步骤有三步: 1.新建springcontextutil类继承applicationcontextaware 2.spring bean配置文件加入该类 3.通过调用类名调用service 直接上代码 @Component public class SpringContextUtil implements ApplicationContextAw...

qq_39481762的博客 3591

springmvc框架已做service注入

springmvc框架已做service注入,用于java开发的纯框架

SpringMVC结构

Java SpringMVC的工程结构一般来说分为三,自下而上是Modle(模型,数据访问)、Cotroller(控制,逻辑控制)、View(视图,页面显示),其中Modle分为两:daoserviceMVC架构分的主要作用是解耦。采用分架构的好处,普遍接受的是系统分有利于系统的维护,系统的扩展。就是增强系统的可维护性和可扩展性。 对于Spring这样的框架,(View\Web)表示调用控制(Controller),控制调用业务Service),业务调用数据访问

struggle的博客 1681

SSM项目④:Service与Controller

SpringMVC的结构:Controller+Service 一、Service(业务) ①作用:Service将各种业务封装起来,为Controller的类提供接口进行调用。 ②问题: ⑴为什么要有ServiceMVC模式采用的是分设计,各之间职责分明。如果没有Service,那么操作数据库、数学计算、调用其他api等(Service的作用)各种服务就会被放在Controller中,这就导致原本功能明确的的Controlle...

qq_45915040的博客 1350

Spring】JavaBean、MVC软件设计模式与Java中Dao、Service、Controll三体系

JavaBean JavaBean实际就是一个普通的Java类,为了规范开发,要求JavaBean具有如下规范: ① 具有一个公共的、无参的构造方法; ② 该类对应的属性必须提供了setter和getter方法用于外部属性赋值和获取属性值; Dao Dao全称Data Access Object(数据访问对象),实际就是和数据库中的表相关, ...

weixin_46081857的博客 3184

Spring框架(四)SpringMVC基础

目录1、SpringMVC概述1.1 回顾MVC设计模式1.1.1 MVC的概念1.1.2 MVC的执行流程1.2 Struts2.0和SpringMVC的区别1.2.1 MVC框架的演变1.2.2 Struts2.0和SpringMVC的区别2、入门案例3、SpringMVC执行流程4、参数处理4.1 SpringMVC的常用注解4.2 参数绑定5、返回数据5.1 SpringMVC实现返回数据5.2 页面跳转5.3 简单登录案例 1、SpringMVC概述 SpringMVCSpring进行Web开发

恒哥的博客 858

springMVC中controller调用service的方式

springmvc普通类调用注解service 的方式除了 1.自动注入外:  @Autowired UserService userService; 2.还可以这样: 工具类: /** * * 普通类调用Spring注解方式的Servicebean * * @author zhengdong 2016年10月18日 下午3:54:29 * @ver

4万+

Spring普通类与工具类调用service

Spring MVC中,Controller中使用service只需使用注解@Resource/@Autowired就行,但是一般类(即不使用@Controller注解的类)要用到service时,Spring中的Service不是你想new就能new的,因为通过new实例化的对象脱离了Spring容器的管理,获取不到注解的属性值,所以会是null,就算调用service的类中有@Component注解加入了Spring容器管理,也还是null. 实例: @Component public clas

蓝天 1735

如何设计Service

在初学Spring时曾被Service绕晕,为何MVC模式下会多出一个Service?设计Service时候为何需要先写一个接口,然后再去实现?Service之间是否可以相互调用?而这篇文章就是当初疑问的解决,也是对MVC模式深入理解。 Service从何而来 Spring MVC,是一个MVC框架,提到MVC,大家都不陌生,简单说一下,M为模型,处理数据逻辑,...

Walker 1万+

Spring 普通类与工具类调用service

Spring MVC中,Controller中使用service只需使用注解@Resource/@Autowired就行,但是一般类(即不使用@Controller注解的类)要用到service时,Spring中的Service不是你想new就能new的,因为通过new实例化的对象脱离了Spring容器的管理,获取不到注解的属性值,所以会是null,就算调用service的类中有@Comp...

qq_42117592的博客 585

service直接调用service还是dao

问题引入: java web项目开发中spring service直接调用service还是dao,哪个更合理? 一、初步理解 service作为一个业务逻辑处理,我若直接调用dao,那么该业务只取出我所需要的数据,我若调用service,那么就相当于一个业务依赖于另一个业务,耦合度不就高了?所以,到底哪个更合理,想听听你们的理解 二、分析总结 总结1 按我的经验,service a不能调用b的dao,只能调用b的service实现业务。 因为b的service是对dao.

AlbenXie的博客 1万+

MVC框架中Entity,DAOService,Controller的关系和区别

的作用: 在之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。 entity(model = entity = domain) entity的作用: 用于存放的实体类,与数据库中的属性值基本保持一致。实现set和get的方法。 public class User { /* 用户id */ private Long id; /* 获取用户id */ public Long getId()...

qq_41527385的博客 9708

Spring MVC普通类调用service

Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可查看下述方法: 原因:Spring中的Service不是你想new就能new的,因为通过new实例化的对象脱离了Spring容器的管理,获取不到注解的属性值,所以会是null,就算调用service的类中有@Compo...

wslzjr的博客 388

spring boot,DAO、ENTITYSERVICE、CONTROLLER之间的关系

5、View与Controller控制结合比较紧密,需要二者结合起来协同工作。View主要负责前台jsp页面的表示。另外一种总结1、DAO: 持久 主要与数据库进行交互DAO主要是做数据持久的工作,主要与数据库进行交互。DAO首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块中就可以调用DAO 的接口进行数据业务的而处理,并且不用关注此接口的具体实现类是哪一个类。DAO 的数据源和数据库连接的参数数都是在配置文件中进行配置的。

clear10ve的博客 5261

Spring普通类如何引用service或mapper接口

在传统MVC或者springboot框架中,经常要使用@Autowired注解注入Service或者Mapper接口,在controller中注入service接口,在service中注入其它的service接口或者mapper接口都是可以的,但是如果要在自己封装的Utils工具类中或者非controller普通类中使用@Autowired注解注入Service或者Mapper接口,直接注入是...

java_xdo的博客 4283

Action, Service ,modle 和 Dao详解

一、SSH架构最基本的分方式: modle:就是对应的数据库表的实体类,即将现实对象抽象成类。 Dao:是使用了Hibernate连接数据库、操作数据库(增删改查)和modelService:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。 Action:引用对应的Service,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受

没有什么不可能 1万+

java 框架 Dao Mapper controller service model entity 简介

目录 简介 entity mapper service controller 简介 SSM是sping+springMVC+mybatis集成的框架。 MVC即model view controller。 model=entity。存放我们的实体类,与数据库中的属性值基本保持一致。 service。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper,mapper是直接跟数据库打交道

whatday的专栏 6053

MVC的daoservice和controller

1、daodao主要做数据持久的工作,负责与数据库进行联络的一些任务都封装在此,dao的设计首先是设计dao的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。2、serviceservice主...

勤于总结的菜鸟 10万+
上一篇: linux 下redis安装、卸载
下一篇: 异常解决:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
一个抽风的女Ren
博客等级 码龄8年 18粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值