2026/3/6 9:53:59
网站建设
项目流程
适合手机的网站,qq空间是用什么做的网站,购物网站asp源码,新网 网站建设JavaEE框架程序设计核心知识点入门#xff1a;从Maven到Spring Boot实战指南摘要#xff1a;本文系统梳理JavaEE企业级开发中必备的主流框架与工具链#xff0c;涵盖Maven、MyBatis、Spring#xff08;IoC/AOP/事务#xff09;、Spring MVC、Spring Boot等核心技术#x…JavaEE框架程序设计核心知识点入门从Maven到Spring Boot实战指南摘要本文系统梳理JavaEE企业级开发中必备的主流框架与工具链涵盖Maven、MyBatis、SpringIoC/AOP/事务、Spring MVC、Spring Boot等核心技术帮助初学者快速构建完整的SSM/SSB开发体系掌握现代Java Web应用的分层架构与工程实践。第1章 Maven项目构建工具Maven 是 Java 项目管理和构建自动化的核心工具其核心价值在于标准化项目结构与依赖管理。核心要点基础概念Maven 基于 POMProject Object Model模型通过pom.xml描述项目信息。标准目录结构src/ ├── main/ │ ├── java/ # Java源码 │ └── resources/ # 配置文件如application.properties └── test/ ├── java/ # 测试代码 └── resources/ # 测试配置生命周期三大生命周期——clean清理、default构建、site生成文档。常用命令mvn compile、mvn test、mvn package、mvn install坐标GAV唯一标识一个构件groupIdcom.example/groupIdartifactIdmy-app/artifactIdversion1.0.0/version依赖管理dependencies直接依赖dependencyManagement统一版本控制常用于父POM传递性依赖自动引入间接依赖但可能引发依赖冲突冲突解决策略排除依赖exclusions使用mvn dependency:tree分析依赖树✅最佳实践优先使用dependencyManagement管理版本避免“Jar Hell”。第2章 MyBatis框架基础MyBatis 是一款半自动 ORM 框架强调 SQL 与 Java 代码分离灵活性高。核心组件SqlSessionFactory创建SqlSession的工厂单例SqlSession执行 SQL、获取 Mapper非线程安全Mapper接口 XML/注解映射入门配置!-- mybatis-config.xml --configurationenvironmentsdefaultdevelopmentenvironmentiddevelopmenttransactionManagertypeJDBC/dataSourcetypePOOLEDpropertynamedrivervaluecom.mysql.cj.jdbc.Driver/propertynameurlvaluejdbc:mysql://localhost:3306/test/propertynameusernamevalueroot/propertynamepasswordvalue123456//dataSource/environment/environmentsmappersmapperresourcemapper/UserMapper.xml//mappers/configuration日志集成添加 Log4j 依赖MyBatis 自动识别日志实现别名配置typeAliasespackage namecom.example.entity//typeAliases第3章 MyBatis映射文件与注解动态SQL强大特性selectidfindUsersresultTypeUserSELECT * FROM userwhereiftestname ! nullAND name #{name}/ififtestage 0AND age #{age}/if/where/select常用标签if、choose、where、set、foreach关联查询一对一association propertyprofile javaTypeProfile一对多collection propertyorders ofTypeOrder嵌套查询 vs 嵌套结果前者 N1 查询后者单次 JOIN推荐注解开发适合简单SQLSelect(SELECT * FROM user WHERE id #{id})Results({Result(propertyuserName,columnuser_name),Result(propertyprofile,columnid,oneOne(selectcom.example.mapper.ProfileMapper.selectByUserId))})UserfindById(Longid);缓存机制一级缓存SqlSession 级别默认开启二级缓存Mapper 级别需手动开启cache/实体类实现Serializable第4章 Spring IoC容器Spring 的核心是IoC控制反转将对象创建与依赖关系交由容器管理。Bean装配方式方式示例XMLbean iduserService classcom.example.service.UserServiceImpl/注解Service,Component,Repository,ControllerJava ConfigConfigurationBean依赖注入DIAutowired按类型注入Spring 特有Resource按名称注入JSR-250 标准Bean作用域singleton默认整个容器共享一个实例prototype每次请求新建实例Web作用域request、session需 Web 环境生命周期回调publicclassUserServiceimplementsInitializingBean,DisposableBean{publicvoidafterPropertiesSet(){/* 初始化 */}publicvoiddestroy(){/* 销毁 */}}// 或使用 PostConstruct / PreDestroy第5章 Spring AOP与声明式事务AOP核心概念切面Aspect横切关注点如日志、事务通知AdviceBefore、After、Around等切入点Pointcut匹配方法的表达式如execution(* com.example.service.*.*(..))代理机制JDK 动态代理目标类必须实现接口CGLIB 代理通过继承生成子类无接口也可声明式事务重点ServiceTransactional(rollbackForException.class)publicclassOrderService{// 方法内抛异常自动回滚}传播行为REQUIRED默认、REQUIRES_NEW等隔离级别READ_COMMITTED、REPEATABLE_READ等配置事务管理器beanidtransactionManagerclassorg.springframework.jdbc.datasource.DataSourceTransactionManagerpropertynamedataSourcerefdataSource//beanSpring MyBatis整合使用SqlSessionFactoryBean创建SqlSessionFactoryMapperScan(com.example.mapper)自动注册 Mapper 接口第6章 Spring MVC基础MVC 架构分离关注点Model数据、View视图、Controller控制请求处理流程浏览器 → DispatcherServlet → HandlerMapping → Controller → ViewResolver → JSP/Thymeleaf → 响应控制器开发ControllerRequestMapping(/user)publicclassUserController{RequestMapping(value/list,methodRequestMethod.GET)publicStringlist(Modelmodel){model.addAttribute(users,userService.findAll());returnuser/list;// 逻辑视图名}}视图跳转转发return forward:/other;URL不变重定向return redirect:/success;URL改变避免重复提交第7章 Spring MVC数据绑定自动绑定支持基本类型、String、Date配合DateTimeFormat对象绑定public String save(User user)→ 表单字段user.name自动映射JSON交互前后端分离关键RestController// Controller ResponseBodypublicclassApiUserController{PostMapping(/save)publicResultsave(RequestBodyUseruser){// 接收JSON并转为User对象returnResult.ok();}}需引入jackson-databind或gson数据校验JSR-303publicStringupdate(ValidRequestBodyUseruser,BindingResultbr){if(br.hasErrors()){// 处理校验错误}}常用注解NotNull、Min(18)、Email、Pattern第8章 Spring MVC进阶拦截器InterceptorpublicclassLoginInterceptorimplementsHandlerInterceptor{publicbooleanpreHandle(HttpServletRequestreq,HttpServletResponseres,Objecthandler){// 登录校验returntrue;// false 中断请求}}// 注册ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{publicvoidaddInterceptors(InterceptorRegistryregistry){registry.addInterceptor(newLoginInterceptor()).addPathPatterns(/admin/**);}}全局异常处理ControllerAdvicepublicclassGlobalExceptionHandler{ExceptionHandler(Exception.class)publicResponseEntityResulthandle(Exceptione){returnResponseEntity.status(500).body(Result.error(e.getMessage()));}}文件上传/下载上传MultipartFile file下载ResponseEntityResourceContent-DispositionSSM整合架构ControllerSpring MVC ↓ ServiceSpring Transactional ↓ MapperMyBatis配置文件分工web.xmlDispatcherServlet、ContextLoaderListenerspring-context.xmlService、DataSource、事务spring-mvc.xmlController、视图解析器mybatis-config.xml别名、插件等第9章 Spring Boot基础Spring Boot 约定优于配置自动装配核心特性起步依赖Starterspring-boot-starter-web内嵌 Tomcat/Jetty无 XML 配置主启动类SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}配置方式application.properties/application.yml多环境application-dev.yml、application-prod.yml绑定配置ConfigurationProperties(prefixapp.user)ComponentpublicclassUserConfig{privateStringname;// getter/setter}第10章 Spring Boot进阶整合 MyBatisdependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version/dependency自动配置SqlSessionFactory、SqlSessionTemplateMapperScan扫描接口开启 SQL 日志logging.level.com.example.mapperdebugThymeleaf模板!-- user/list.html --divth:eachuser : ${users}spanth:text${user.name}/span/divSpring Security安全控制ConfigurationEnableWebSecuritypublicclassSecurityConfig{BeanpublicUserDetailsServiceuserDetailsService(){// InMemory / JDBC 实现}BeanpublicSecurityFilterChainfilterChain(HttpSecurityhttp)throwsException{http.authorizeHttpRequests(auth-auth.requestMatchers(/admin/**).hasRole(ADMIN).anyRequest().authenticated()).formLogin(withDefaults());returnhttp.build();}}第11章 Spring Boot项目实践工程结构建议project/ ├── pom.xml ├── common/ # 工具类、异常、枚举 ├── entity/ # 实体类 ├── mapper/ # MyBatis Mapper ├── service/ # 业务逻辑 ├── controller/ # REST API └── config/ # 配置类关键实践统一异常处理ControllerAdviceRESTful API 设计资源化 URL/users/{id}、HTTP 方法语义化日志规范使用 SLF4J Logback记录关键操作部署mvn clean package java -jar target/app.jar --spring.profiles.activeprod结语从 Maven 到 Spring BootJavaEE 开发已进入高效、简洁、自动化的新时代。掌握上述核心知识点不仅能应对企业级项目开发也为深入微服务Spring Cloud打下坚实基础。学习建议动手搭建一个用户管理系统CRUD 登录 权限贯穿所有技术栈