一. spring基本认识
1. spring的体系结构
2. spring基础用法
传统的javaWeb方法在Service层会直接new一个Dao层的对象,这样如果service层想换对象的时候只有改代码。
spring的方法如图所示。service层向spring提供一个id标识,然后spring去xml配置文件里找对应的dao层类,最后返回给service。这样就只需要去改xml文件。
3. 现在来对上面这个Demo做一个实现
首先创建一个java空项目,然后在项目里边创建一个用webapp为原型的模块
自己修建一下枝叶变成这个目录结构:
把springcontext的坐标引入到maven中,自己选择合适的版本:
接着在java目录中构建以下类:
随便在接口和类中写点东西,比如:
UserDao:
package com.guazi.Dao;
public interface UserDao {
public void save();
}
UserDaoImpl:
package com.guazi.Dao.impl;
import com.guazi.Dao.UserDao;
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("save running");
}
}
在resources中创建spring Config文件
如此一来我们就搭建好了这两个步骤的框架
接下来就要在xml配置文件中把id标识和类匹配。添加一个bean标签,配置id和class。id是自己指定,class用类名
现在我们做这两步
创建Service目录
在实现类中写如下代码,这里为了测试,直接将其写成了主类:
package com.guazi.Service.Impl;
import com.guazi.Dao.UserDao;
import com.guazi.Service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserServiceImpl implements UserService {
public static void main(String[] args){
// 加载xml配置文件
ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过id标识获取类
UserDao userDao = (UserDao) app.getBean("userDao");
// 实现类方法
userDao.save();
}
}
执行,就可以得到结果
save running