Spring的基本业务流程与类的多实现,2021年Java开发爆款推荐

  • @Date:2019/6/15 0015

*/

@Controller

public class UserCoutroller {

/*

  • Autowired:注入的是接口的实现类

  • 如果没有实现类 无法注入

  • 如果有多个实现类 也无法自动注入,需要通过Qualifier 指定ID

  • ID的默认值是 类名的首字母小写

  • */

@Autowired

@Qualifier(“userServiceImpl”)

private UserService userService;

public String addUser() {

userService.addUser();

return “SUCCESS”;

}

}

UserDaoImpl.java

package com.xbj.dao.impl;

import com.xbj.dao.UserDao;

import org.springframework.stereotype.Repository;

/**

  • @Author:晓宇码匠

  • @Date:2019/6/15 0015

*/

@Repository

public class UserDaoImpl implements UserDao {

public void addUser() {

System.out.println(“addUser”);

}

}

UserDao.java

package com.xbj.dao;

/**

  • @Author:晓宇码匠

  • @Date:2019/6/15 0015

*/

public interface UserDao {

void addUser();

}

UserServiceImpl.java

package com.xbj.service.impl;

import com.xbj.dao.UserDao;

import com.xbj.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;

import javax.annotation.PreDestroy;

/**

  • @Author:晓宇码匠

  • @Date:2019/6/15 0015

  • @Scope如果是设为多例,在方法结束时,不会进行销毁,而是变成休眠态

  •    反之,单例就会执行销毁方法
    

*/

@Service

@Scope(value = “prototype”)//将实现类设置成多例的 、 不设默认是单例的singleton

public class UserServiceImpl implements UserService {

@Autowired

private UserDao userDao;

public void addUser() {

userDao.addUser();

}

@PostConstruct

public void init(){

//初始化

System.out.println(“初始化”);

}

@PreDestroy

public void dest(){

//销毁

System.out.println(“销毁”);

}

}

UserServiceImpl2.java

package com.xbj.service.impl;

import com.xbj.dao.UserDao;

import com.xbj.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;

import javax.annotation.PreDestroy;

/**

  • @Author:晓宇码匠

  • @Date:2019/6/15 0015

*/

@Service

@Scope(value = “prototype”)//将实现类设置成多例的 、 不设默认是单例的singleton

public class UserServiceImpl2 implements UserService {

@Autowired

private UserDao userDao;

public void addUser() {

userDao.addUser();

}

}

UserService.java

package com.xbj.service;

/**

  • @Author:晓宇码匠

  • @Date:2019/6/15 0015

*/

public interface UserService {

void addUser();

}

test.java

import com.xbj.controller.UserCoutroller;

import org.junit.Test;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值