- @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;