最新Spring 基于 xml 配置的快速入门(超详细),面试阿里

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

log4j.rootLogger=INFO,A1

log4j.logger.org.apache=INFO

log4j.appender.A1.Target=System.err

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n

1234567

ps:这里的日志等级可以改为debug的级别,这里为了简便设置为info的级别,有需要可以自行更改。

接下来就是写下的伪登录业务;

快速写下dao层和service层业务

package com.spring.quickTest;

public interface userDao {

public void queryUser();

}

12345678

package com.spring.quickTest;

public class UserDaoImpl implements userDao {

@Override

public void queryUser() {

System.out.println(“用户登录了”);

}

}

1234567891011

package com.spring.quickTest;

public interface UserService {

void login();

}

123456789

package com.spring.quickTest;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class UserServiceImpl implements UserService {

private userDao userDao;

public void setUserDao(com.spring.quickTest.userDao userDao) {

this.userDao = userDao;

}

@Override

public void login() {

System.out.println(“准备登录中”);

// 1.传统方法

// userDao userDao = new UserDaoImpl();

// userDao.queryUser();

// 2.自定义工厂

// userDao user = (userDao) new UserdaoFactory().getBean();

// user.queryUser();

// 3spring 工厂

// ApplicationContext context = new ClassPathXmlApplicationContext(“applicationContext.xml”);

// userDao userDao = (com.spring.quickTest.userDao) context.getBean(“userDao”);

userDao.queryUser();

}

}

12345678910111213141516171819202122232425262728293031

传统方法下的代码过于耦合;

例如:UserDao userDao = new UserDaoImpl();

如果要更换实现类,或者实现类换一个名字,此时代码会报错,必须要修改原来的业务代码。

我们也可以通过反射的方法自定义一个bean工厂来实现代码的解耦;

package com.spring.quickTest;

public class UserdaoFactory {

public Object getBean() {

try {

return Class.forName(“com.spring.quickTest.UserDaoImpl”).newInstance();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

return null ;

}

}

1234567891011121314151617181920

我们就可以通过自定义的工厂进行实例化,然后调用dao层的方法,避免了耦合。

接下来也可以通过spring的工厂来实现解耦;

写好spring核心文件的配置文件applicationContext.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”

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

123456789101112

我们将dao层交给spring 工厂后发现还是不够方便,就将service层也交给spring工厂来控制 ,将bean标签下的 property进行依赖注入这样我们只要声明下成员变量后并进行set方法赋值就可以直接引用了,不需要在创建spring工厂了。

Spring 基于 xml 配置的快速入门(超详细)

最后

我还通过一些渠道整理了一些大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。**

[外链图片转存中…(img-ZSyEYvqk-1715648681430)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值