使用service&scope 进行注入

@service 声明该类为一个bean,bean的名称为类名首字母小写(customerService)

@Scope("prototype")则声明为一个原子类型,既每个getbean方法返回一个实例

package spring_service;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

/**
 * Created by luozhitao on 2017/8/10.
 */
@Service
@Scope("prototype")
public class CustomerService {

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    private String message;

}
package spring_service;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by luozhitao on 2017/8/10.
 */
public class service_app {

    public static void main(String [] args){

        ApplicationContext context=new ClassPathXmlApplicationContext("bean_service.xml");

        CustomerService customerService=(CustomerService)context.getBean("customerService");

        customerService.setMessage("spring server method");

        System.out.println(customerService.getMessage());

    }

}
<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"
       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">

    <context:component-scan base-package="spring_service" />

</beans>

bean.xml看起来就非常简练。

时间: 2024-11-08 03:29:41

使用service&scope 进行注入的相关文章

解决service层无法注入

练手时发现个问题,路径404,各种检查发现,多加了一层<context:component-scan base-package="com.yanan.controller"/>写成了<context:component-scan base-package="com.yanan.*.controller"/> 解决后,发现service注入失败 org.apache.ibatis.binding.BindingException: Invali

SpringBoot拦截器中service或者redis注入为空的问题

原文:https://my.oschina.net/u/1790105/blog/1490098 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Bean无法注入是在拦截器中无效的问题,一直在查找注解指定的包在哪里配置的,然而却找不到配置,Springboot是用java类的形式加载配置的.在网络的某个角落看到这样的说法: SpringBoot项目的Bea

Springboot 定时任务,service层无法注入问题详细解决

开发一个微信小程序后台,建立websocket 长连接,需要后台开启定时任务, 定时任务定时查库,相应前台 但是具体执行过程中一直在报空指针错误,最后定位到service 为空,无法调用其相关的方法导致的 这是spring的一个Bug ,需要手动去配置一个类,主动获取实例,在定时任务中(继承TimerTask类),@Autowired 是失效的,无法注入 解决方案 原文地址:https://www.cnblogs.com/doudou2018/p/10416043.html

关于工具类静态方法调用@Autowired注入的service类问题

@Component //此处注解不能省却(0) 1 public class NtClient { 2 /** 3 * 日志 4 */ 5 private static String clazzName = NtClient.class.getName(); 6 /** 7 * 此处是要使用的service需要spring注入(1) 8 */ 9 @Autowired 10 private NotifyTimeService notifyTimeService; 11 private stat

在定时器中service注入不进去的解决方案

定时器首先要继承ServletContextListener,然后实现里面的方法 contextDestroyed()和 contextInitialized()方法,具体实现如下: 但是现在service现在是注入不进去的:我们使用 ApplicationContextUtil实现注入: @Controller@RequestMapping("/user")public class UserController extends BaseController implements Se

Spring5:@Autowired注解、@Resource注解和@Service注解

什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java

angular controller as syntax vs scope

今天要和大家分享的是angular从1.2版本开始带来了新语法Controller as.再次之前我们对于angular在view上的绑定都必须使用直接的scope对象,对于controller来说我们也得必须注入$scope这个service.如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 angular.module("app",[]) .controller("demoController",["$scope&qu

关于Spring IOC (依赖注入)你需要知道的一切

[版权申明]未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/54561302 出自[zejian的博客] <Spring入门经典>这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初学者也适合spring有过开发经验的工程师,前者可用于全面了解Spring IOC的知识点,后者且

angularjs factory,service,provider 自定义服务的不同

angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angularjs的内置服务多,例如:$scope,$rootScope,$http,$q,$resource,$routeProvider等等,下面来说一下怎么自定义服务 一,factory,service,provider自定义服务,services.js 'use strict'; /* Service