赞
踩
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
(2)管理多个对象
六、SpringBoot集成JSP页面展示
2、集成jsp页面
(2)在应用中配置页面路径的前后缀
(3)访问页面路径正常 但是展示404
七、SpringBoot整合Mybatis
2、SpringBoot整合Mybatis
(2)编程步骤
(3)数据源相关的配置
(3)告知mapper文件所在路径 别名
(4)告知Dao接口所在包
八、SpringBoot测试
2、测试类和方法书写 考虑:测试时要启动SpringBoot的应用
(2)不同实体类相关的测试就可以继承父测试类直接写测试了
九、SpringBoot中开启jsp的热部署
2、在配置文件中进行配置就可以了
十、SpringBoot切面编程
2、Spring怎么样完成AOP编程
b、aop相关设置
3、SpringBoot怎么完成Aop编程 核心:注解
(2)通知相关的注解:方法上
4、SpringBoot中前置通知和后置通知
5、SpringBoot中的环绕通知
==================================================================================
Spring Boot是由Pivotal团队提供的全新框架
,其设计目的是用来简化Spring应用的初始搭建以及开发过程
。该框架使用了特定的方式来进行配置
,从而使开发人员不 再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应 用开发领域(rapid application development)成为领导者。
约定大于配置。
springboot(微框架) = springmvc(控制器) + spring(项目管理)
Spring是全新框架
简化Spring应用的初始化搭建 以及开发过程
简化初始搭建:通过特定的配置方式简化替代 这些配置Spring.xml Springmvc.xml web.xml
(取消)
SpringBoot本质就是基于Spring和SpringMVC的再封装
springboot(微框架) = springmvc(控制器框架) + spring(项目管理)
微框架(少量配置 简化开发)是微服务(SpringCloud)的所依赖的框架
创建独立的Spring应用程序
只有一个容器,不会出现像Spring和SpringMVC父子容器污染问题
提供Springboot jpa(等价于Mybatis框架)
应用中嵌入的Tomcat服务器,无需部署WAR文件,无需通过外部服务器部署
简化Maven配置
#初始化只需要两个依赖+Mybatis 只需要三个依赖就可以搭建SSM项目
自动配置Spring,自动使用spring和springmvc所有机制和功能
没有XML配置
1、数量:一个SpringBoot应用中必须要存在一个入口类
2、名字:
项目名+Application.java
xxx:项目名
3、位置:必须要在所有子包平级 com.tjcu.平级
4、**入口类中必须包含一个主函数 **
public static void main(String[] args){})
maven项目:
src/main/java
cccom.tjcu.entity
.dao
.service
…
XxxApplication.java
src/main/resources
application.yml
src/test/java
src/test/resources
1、位置:根下 maven项目 必须放在src/main/resources
2、名字:名字必须叫application.xxx
后缀:.yml |.yaml .properties
yml文件 简介 高效 语法要求严格
.properties key=value 会冗余,可读性强,映射关系明显
========================================================================================
SpringBoot 2.2.5
Spring 5.x
Maven3.3以上(当前使用版本3.5.3)
JDK1.8+
Tomcat8.0+ 内置9.x的版本号
基础2 parent web
org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
org.springframework.boot
spring-boot-starter
名字:application.yml
位置:根下 src/main/resource下
位置:和所有子包平级
名字:xxxApplication.java|Application.java
内容:必须存在一个主函数
com.tjcu
@SpringBootApplication
public class Application{
public static void main(String[] args){
/**
自动Springboot应用
参数1:入口类的类对象
参数2:主函数的形参
*/
SpringApplication.run(Application.class,args);
}
}
@SpringBootApplication
注解解析:表明当前项目启动SpringBoot配置,并标记SpringBoot的启动入口类。
/**
@author 王恒杰
@date 2021/11/24 15:00
@Description:
*/
@Controller
@RequestMapping(“test”)
public class TestController {
@RequestMapping(“test1”)
@ResponseBody//响应Json的形式
public String test1(){
System.out.println(“--------springboot----------”);
//跳转 Springboot默认不支持jsp
return “first SpringBoot application”;
}
}
1、SpringBoot应用内嵌服务器默认端口8080
2、SpringBoot应用访问时默认没有项目名
3、http://localhost:8080/test/test1
4、修改默认端口号和项目名:Application.yml
server: #端口号修改设置
port: 8989
servlet:
context-path: /Springboot #设置当前的应用名
==============================================================================================
@SpringBootApplication
复合注解,多个注解功能的集合
@Target({ElementType.TYPE}):``这个注解写在类上``<br />@Retention(RetentionPolicy.RUNTIME) ``会在运行时生效``<br />@Documented ``会生成注释文档``<br />@Inherited ``注解可以被继承
重点注解: <br />1、@SpringBootConfiguration :
作用:SpringBoot相关的配置 ,自动对Spring和SpringMVC进行初始化配置,
** 静态** (Spring.xml.Springmvc.xml)<br /><br />2、@EnableAutoConfiguration:<br />
作用:最重要的一个注解
(1)将Spring和Springmvc默认的初始化配置进行实例化,在程序中创建工厂
(2)会自动配置第三方技术(Mybatis)【没用的依赖不要添加,会自动配置】<br /><br />3、@ComponentScan
:完成注解扫描,默认扫描当前包及其子包所有包结构下的注解
/**
@author 王恒杰
@date 2021/11/24 14:45
@Description:
入口类
*/
//@SpringBootApplication //注解 标识SpringBoot入口
@SpringBootConfiguration //配置Spring+Springmvc的初始化配置
@EnableAutoConfiguration //将配置Spring+Springmvc初始化配置实例化
@ComponentScan(value =“com.tjcu”)//扫描当前包及其子包结构下的注解
public class Application {
public static void main(String[] args) {
/**
自动Springboot应用
参数1:入口类的类对象
参数2:主函数的形参
*/
SpringApplication.run(Application.class,args);
}
}
======================================================================================
在实际开发过程中生产环境和测试环境有可能是不一样的,因此将生产中的配置和测试中的配置拆分开,是非常必要的,在springboot中也提供了配置文件拆分的方式
#主配置文件:
application.yml #用来书写相同的的配置
server:
port: 8080 #生产和测试为同一个端口
#生产配置文件:
application-pord.yml
server:
context-path: /whj
#测试配置文件:
application-dev.yml
server:
context-path: /springboot
#上线配置文件:
application-dev.yml
server:
context-path: /tjcu
3、开发后小配置文件后我们需要在主配置文件中进行引用当前所需要的小配置文件
profiles[ˈproʊfaɪlz:轮廓
server: #端口号设置
port: 8989
spring:
profiles:
active: test #设置集合的小配置文件application-test.yml 设置当前的应用名
避免反复修改配置 ,方便后期的维护
======================================================================================
简单对象:可以直接通过new关键字直接创建对象
复杂对象:不能直接new的对象,就是复制对象(抽象类,接口,Connection)
管理方式:FactoryBean 接口
class xxxFactoryBean implement FactoryBean{
Connection.getObject();
Class.forName(“driver”);
return DriverManager.getConnecction(“url”,“username”,“password”)
}
Class getObjectType(){
return Connection.class;
}
boolen isSingleton(){
return false;
}
交给Spring管理
核心:使用注解
在springboot中可以管理自定义的简单组件
对象的创建可以直接使用注解形式创建。
//负责创建简单对象
@Component(“User”)
//Sscope负责单例:Singleton 多例:prototype
@Scope(“prototype”)
public class User {
private Integer id;
private String username;
private String password;
如:在控制器中使用自定义简单对象创建
@Controller
@Scope(“prototype”)
@RequestMapping(“test”)
public class TestController {
/**
*/
@Autowired
private User user;
@Autowired
private User user1;
@RequestMapping(“test1”)
/**
*/
@ResponseBody
public String test1(){
System.out.println(“--------test1-------”);
System.out.println(user);
System.out.println(user1);
return “test1 method”;
}
会出现多例,创建了两个不同的对象
@Configuration+@Bean
:既能管理简单对象也能管理负责对象
@Configuration
:使用位置:类上 标识当前类是一个配置类
@Bean
:添加在方法上,对当前获取的对象进行配置 等价于bean标签
简单对象管理:
@Configuration
public class ObjectConfig {
/**
返回值返回的是要创建的类型 方法名随意
@return
*/
@Bean(“User”)
@Scope(“prototype”)
public User getUser(){
// 书写对象的创建过程
return new User();
}
}
复杂对象管理:
========================================================================================
SpringBoot框架默认集成Thymeleaf
jstl
jstl
1.2
org.springframework.boot
spring-boot-starter-tomcat
org.apache.tomcat.embed
tomcat-embed-jasper
#配置jsp页面的前后缀
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
原因:IDEA和SpringBoot集成的工具问题
解决思路一:使用插件启动
在项目中添加SpringBoot相关插件,引入jsp运行插件
SpringBoot2
org.springframework.boot
spring-boot-maven-plugin
-Dfile.encoding=UTF-8
通过插件启动SpringBoot项目
效果:
@Controller
@Scope(“prototype”)
@RequestMapping(“test”)
public class TestController {
@RequestMapping(“test2”)
public String test2(){
System.out.println(“—test2----”);
return “index”;
}
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档
还有更多面试复习笔记分享如下
问题
在项目中添加SpringBoot相关插件,引入jsp运行插件
SpringBoot2
org.springframework.boot
spring-boot-maven-plugin
-Dfile.encoding=UTF-8
通过插件启动SpringBoot项目
效果:
@Controller
@Scope(“prototype”)
@RequestMapping(“test”)
public class TestController {
@RequestMapping(“test2”)
public String test2(){
System.out.println(“—test2----”);
return “index”;
}
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档
[外链图片转存中…(img-qWjikt4s-1714964246505)]
还有更多面试复习笔记分享如下
[外链图片转存中…(img-MErB5Shz-1714964246505)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。