SSM
@Controller,@Service本质都是@Component,作用是new对象放到Spring容器里。 controller层
@Controller
@RequestMapping("/student")
public class StudentController {
@Autowired
private IStudentService studentService;
@RequestMapping("/selectAll")
@ResponseBody
public List<Student> selectAll (){
System.out.println("StudentController.selectAll");
List<Student> list = studentService.selectAll();
return list;
}
}
service层
public interface IStudentService {
public List<Student> selectAll();
}
@Service
public class StudentServiceImpl implements IStudentService {
@Autowired
private IStudentMapper studentMapper;
@Override
public List<Student> selectAll() {
System.out.println("StudentServiceImpl.selectAll");
return studentMapper.selectAll();
}
}
dao层,在这里dao层常写做mapper,用.xml文件代替原来的DaoImpl,只需要写明namespace,sql语句等,十分方便。
public interface IStudentMapper {
public List<Student> selectAll();
}
<mapper namespace="ssm.mapper.StudentMapper">
<!-- public List<User> selectAll(); -->
<select id="selectAll" resultType="Student">
SELECT `id`,`name`,`age`,`gender`,`class_id` FROM `student`
</select>
</mapper>
Maven
什么是maven
是apache下的一个开源项目,是纯java开发的,并且只能用来管理java项目。
Maven好处,为什么要用Maven
1、依赖管理:就是对jar包的统一管理,可以节省空间。 分析:Maven项目为什么这么小? 没有jar包。 需要的这些jar是由Maven管理,统一放在Mavne的仓库里面。 2、一键构建 Mavne可以使运行java项目脱离Eclipse,脱离Tomcat(因为Maven本身就带了tomcat插件)。 清除(mvn clean) 编译(mvn compile) 测试(mvn test) 运行 (mvn tomcat:run) 打包(mvn package) 部署 项目如果是javase导出的是jar包。 如果是web项目导出的是war包。 3、可以跨平台 4、应用于大型项目,可以提高开发效率。 比如电商系统:用户管理模块 订单管理模块 支付管理模块 … Maven可以进行分模块开发。 这些模块是不同的团队进行开发的。 如果订单模块的代码需要用户模块的代码,按照原来的方式订单模块需要有用户模块的代码, 运行的时候还需要编译这些代码,这样就非常不方便。 每一个模块都是以jar包的方式存在别的模块中,就不需要知道具体的代码,也不需要编译,直接调用jar包中代码即可。 依赖管理的不是war是jar。
三种仓库
1、本地仓库(自己维护)。 2、远程仓库(私服:私有服务器),公司维护。(这个仓库一般公司不一定有) 3、中央仓库,maven团队维护。
坐标概念
groupId:公司名称 artifactId:项目名或者模块名称 version:版本号 坐标=groupId+artifactId+version
|