Java框架之Maven SSM集合

SSM

@Controller,@Service本质都是@Component,作用是new对象放到Spring容器里。

controller层

@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//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团队维护。

19C2DE19-BE0B-A965-91DF-FC93BFDA8880.png

坐标概念

groupId:公司名称

artifactId:项目名或者模块名称

version:版本号

坐标=groupId+artifactId+versionA35B4B26-EC4E-6FF3-914B-80AE2396454B.png

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据