public class UserServiceTest {
@Test
public void test01() throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService) context.getBean("userService");
userService.test();
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)3.视图控制层:@Controller
@Controller(“lcy”)
public class UserController {
@Autowired
private UserService userService;
public void test() throws Exception {
userService.test();
}
}
在插入注解的时候自定义,测试中context.getBean调用定义的名字
public class UserServiceTest {
@Test
public void test02() throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserController userController = (UserController)context.getBean("lcy");
userController.test();
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)4.配置spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lcySpring"/>
[](https://codechina.csdn.net/m0_60958482/java-p7)二、模拟用户登录流程
---------------------------------------------------------------------
### [](https://codechina.csdn.net/m0_60958482/java-p7)1.基本的框架配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/ffc8008149794a22a1b7b936c90fed4e.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JpbmZsY3k=,size_16,color_FFFFFF,t_70)
### [](https://codechina.csdn.net/m0_60958482/java-p7)2.定义用户信息java类
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)2.dao:验证用户密码是否准确
@Repository
public class UserDao {
private final String USERNAME="lmr";
private final String PASSWORD="lcy";
public User queryUserByName(String username){
if(username==null||username==""){
return null;
}
else {
if(username.equals(USERNAME)){
User user=new User();
user.setPassword(PASSWORD);
user.setUsername(USERNAME);
return user;
}
else {
return null;
}
}
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)3.service:根据传入的用户名和密码进行格式判断并调用dao验证
@Service(“aaa”)
public class UserService {
@Resource
public UserDao userDao;
public String login(String username,String password) throws Exception{
if(username==null||"".equals(username)){
return "用户名为空";
}
if(password==null||"".equals(password)){
return "密码为空";
}
User user = userDao.queryUserByName(username);
if(user==null){
return "用户不存在";
}
else{
if(password.equals(user.getPassword())){
return "登入成功";
}
else {
return "登入失败";
}
}
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)4.spring.xml中包扫描目录下的所有bean对象
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lcySpring"/>
### [](https://codechina.csdn.net/m0_60958482/java-p7)5.测试java类,进行用户登录模拟
public class UserServiceTest {
@Test
public void login() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService)context.getBean("aaa");
String login =userService.login("lmr","lcy");
System.out.println(login);
}
}
[](https://codechina.csdn.net/m0_60958482/java-p7)三、Bean作用域
--------------------------------------------------------------------
### [](https://codechina.csdn.net/m0_60958482/java-p7)1.判断是否是单例
public class SpringScopeTest {
@Test
public void test01(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
System.out.println(context.isSingleton("aaa"));
}
}
### [](https://codechina.csdn.net/m0_60958482/java-p7)2.可以通过修改xml文件中bean标签的scope进行修改
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lcySpring"/>
<bean id="userService" class="com.lcySpring.service.UserService" scope="prototype"></bean>
### [](https://codechina.csdn.net/m0_60958482/java-p7)3.也可以通过标签设置
@Service(“aaa”)
@Scope(“prototype”)
### [](https://codechina.csdn.net/m0_60958482/java-p7)4.设置懒加载
用到的时候调用就好了
[](https://codechina.csdn.net/m0_60958482/java-p7)四、Bean的生命周期
----------------------------------------------------------------------
### [](https://codechina.csdn.net/m0_60958482/java-p7)1.初始化监听
**面试资料整理汇总**
![成功从小公司跳槽进蚂蚁定级P7,只因刷了七遍这些面试真题](https://img-blog.csdnimg.cn/img_convert/1c39c35125624e522e26a6c6c65814da.png)
![成功从小公司跳槽进蚂蚁定级P7,只因刷了七遍这些面试真题](https://img-blog.csdnimg.cn/img_convert/0c374614d957b6855b65eff536cb01f4.png)
这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考,需要全部文档的,关注小编后,[点击这里即可免费领取](https://codechina.csdn.net/m0_60958482/java-p7)。
面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了
---------------------------------------------------------------------
### [](https://codechina.csdn.net/m0_60958482/java-p7)1.初始化监听
**面试资料整理汇总**
[外链图片转存中...(img-VkIfKxXf-1629254086441)]
[外链图片转存中...(img-M1Wayxe2-1629254086443)]
这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考,需要全部文档的,关注小编后,[点击这里即可免费领取](https://codechina.csdn.net/m0_60958482/java-p7)。
面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了
**在这里祝大家能够拿到心仪的offer!**