国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Spring Boot 是一款基于 Spring 框架的開源應(yīng)用程序開發(fā)工具,它旨在簡(jiǎn)化 Spring 應(yīng)用程序的配置和開發(fā)過程。Spring Boot 提供了一種簡(jiǎn)單的方式來創(chuàng)建可獨(dú)立運(yùn)行的、生產(chǎn)級(jí)別的應(yīng)用程序,并在需要時(shí)進(jìn)行部署。Spring Boot 在微服務(wù)架構(gòu)和云計(jì)算環(huán)境下得到了廣泛應(yīng)用。

本次主要是相關(guān)的基礎(chǔ)知識(shí)點(diǎn)與代碼講解,主要也是為了喚醒和快速記錄的地步。面試題也挑了相對(duì)重要但是比較基礎(chǔ)偏上的題目,最后的項(xiàng)目驅(qū)動(dòng),以一個(gè)簡(jiǎn)單的設(shè)計(jì)模式來講解Spring Boot 的實(shí)例應(yīng)用。

Spring Boot 知識(shí)點(diǎn)

由于IDEA 2023版本創(chuàng)建Spring 項(xiàng)目的時(shí)候拋棄了JDK 8 只有17 和21版本,所以需要修改項(xiàng)目源:
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
注解@Spring BootApplication :
此注解是加在項(xiàng)目啟動(dòng)類上的,實(shí)際上是一個(gè)組合注解

*@SpringBootConfiguration
//@Configuration
// public @interface SpringBootConfiguration
*@EnableAutoConfiguration
*@ComponentScan

可以在resources目錄下建一個(gè)banner,txt

Spring Boot項(xiàng)目中,內(nèi)置了Tomcat,Jetty,Netty等容器。當(dāng)開發(fā)者添加了spring-boot-starter-web依賴后,默認(rèn)使用Tomcat作為Web容器,如果對(duì)Tomcat做進(jìn)一步配置,可以在application.properties配置(resoures):

server.port = 8081 # 配置了端口號(hào)
server.error.path =/error # 配置了當(dāng)項(xiàng)目出錯(cuò)時(shí)候跳轉(zhuǎn)頁(yè)面
server.servlet.context-path=/chpter02 # 表示項(xiàng)目名稱,不配置時(shí)默認(rèn)為/,如果配置了需要加上路徑

下面提供視圖層的實(shí)例代碼
Spring Boot對(duì)視圖層提供了很好的支持,官方推薦使用的模板引擎是Thymeleaf 記得刷新

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

視圖 Controller 層:樣例代碼:

@Controller
public class BookController {
// 這個(gè)是http://localhost:8080/testbook
// 最后返回的數(shù)據(jù)mv 或者String 類型是templates下的文件前綴
    @GetMapping("/testbook")
    public ModelAndView books() {
        List<Book> books = new ArrayList<>();
        Book b1 = new Book();
        b1.setId(1);b1.setName("B1");b1.setAuthor("JA");
        Book b2 = new Book();
        b2.setId(2);b2.setName("B2");b2.setAuthor("MA");

        books.add(b1);
        books.add(b2);

// 生成視圖
        ModelAndView mv = new ModelAndView();
        mv.addObject("books",books);
        mv.setViewName("books");
        return mv;
    }

	或者Public String M(){
	return "";// 返回的字符串就是templates的前綴
		}
}

book.html:

<html lang="en"  xmlns:th ="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <table border="1" >
      <tr>
          <td>ID</td>
          <td>NAME</td>
          <td>AUTHOR</td>
      </tr>
      <tr th:each = "book:${books}">
          <td th:text="${book.id}"></td>
          <td th:text="${book.name}"></td>
          <td th:text="${book.author}"></td>
      </tr>
  </table>
</body>
</html>

配置properties:

server.port=8080
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.application.name=spring-boot-thymleaf

整合持久層
持久層是Java EE中訪問數(shù)據(jù)庫(kù)的核心操作,Spring Boot對(duì)常見的持久層框架提供了自動(dòng)化配置,例如JdbcTemplate,JPA等,MyBatis的自動(dòng)化配置是MyBatis官方提供的。

使用JDBC進(jìn)行配置:
創(chuàng)建Dao 訪問層:

# 配置信息(每改一次要更新Maven一次):
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql:///chapter05
spring.datasource.username = root
spring.datasource.password = 
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver // 下面版本號(hào)為8.0.30


#Dao(一般就是寫數(shù)據(jù)庫(kù)層)
@Repository
public class BookDao {
    @Autowired(
            required = false
    )
    dbcTemplate jdbcTemplate;
    public int addBook(Book book) {
        return jdbcTemplate.update("insert into book(name ,author) values (?,?)",book.getName(),book.getAuthor());
    }
    }

# Service 層 (做方法類):
@Service
public class BookService {
//自動(dòng)裝箱 
    @Autowired(
            required = false
    )
    BookDao bookDao;
    public int addBook(Book book) {
        System.out.println(book.getId());
        System.out.println(book.getAuthor());
        System.out.println(book.getName()+"1233");

        return bookDao.addBook(book);
    }

整合MyBatis
MyBatis是一款優(yōu)秀的持久層框架,支持定制化SQL,存儲(chǔ)過程以及高級(jí)映射。MyBatis幾乎避免所有的JDBC代碼手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。在傳統(tǒng)的SSM框架整合中,使用它需要大量的配置,而在Spring Boot提供了自動(dòng)化配置方案,可以做到開箱即用。
依舊是添加依賴:

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>

區(qū)別JDBC 中的Service層,這里主要是使用Mapper層(一般項(xiàng)目會(huì)放在Dao文件包中)

@Mapper注解,表示這是MyBatis中的接口,這種方式在每個(gè)Mapper添加注解
BookMapper接口中的每一個(gè)方法都在BookMapper.xml實(shí)現(xiàn)了。
xml 文件

// 指明實(shí)現(xiàn)接口對(duì)象
<mapper namespace ="com.example.demo.testMybatis.mapper.BookMapper">
 <insert id ="addBook" parameterType="com.example.demo.testMybatis.model.Book">
        insert into book (name,author) values (#{name},#{author})
        #{}用來替代接口中的參數(shù),實(shí)體類中的屬性可以直接通過#{實(shí)體類屬性名}獲取
    </insert>

可以把xml放在resources包中,并把文件夾名改為mapper,然后在application.properties配置

# 配置mybatis
mybatis.mapper-locations=classpath:/mapper/*.xml

Spring Boot是由Pivotal團(tuán)隊(duì)提供的一套開源框架,其設(shè)計(jì)目的是用來簡(jiǎn)化Spring應(yīng)用的初始搭建以及開發(fā)過程。

目錄說明:

springboot-hello    //項(xiàng)目名稱
  -.idea  //idea自動(dòng)生成的緩存文件
  -.mvn   //maven相關(guān)
  - src
    - main //存放代碼源文件、配置文件
      -java  //存放代碼源文件
       - com.gyd.springboothello
         -SpringbootHelloApplication  
      -resource //存放配置文件如xml、properties格式的
       -application.properties
    - test  //編寫單元測(cè)試用例和執(zhí)行
    - .gitignore  //配置,指定提交git時(shí)要忽略哪些格式文件
    - HELP.md //springboot官方文檔鏈接
    - mvnw  //maven相關(guān)
    - mvnw.cmd  //maven相關(guān)
    - pom.xml  // 項(xiàng)目基本信息定義、依賴組件引入

@SpringBootApplication 主要組合了@Inherited、@SpringBootConfiguration、@ComponentScan、@EnableAutoConfiguration這幾個(gè)注解。

@Inherited闡述了某個(gè)被標(biāo)注的類型是被繼承的。

在springboot的應(yīng)用的根目錄下運(yùn)行mvn spring-boot:run

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java

面試題

1.Spring Boot 的核心注解是哪個(gè)?它主要由哪幾個(gè)注解組成的?

啟動(dòng)類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個(gè)注解:
@SpringBootConfiguration:組合了 @Configuration 注解,實(shí)現(xiàn)配置文件的功能。
@EnableAutoConfiguration:打開自動(dòng)配置的功能,也可以關(guān)閉某個(gè)自動(dòng)配置的選項(xiàng),如關(guān)閉數(shù)據(jù)源自動(dòng)配置功能@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring組件掃描。

2.YAML 配置的優(yōu)勢(shì)在哪里 ? 和傳統(tǒng)的 properties 配置相比到底有哪些優(yōu)勢(shì)呢?

配置有序,在一些特殊的場(chǎng)景下,配置有序很關(guān)鍵
支持?jǐn)?shù)組,數(shù)組中的元素可以是基本數(shù)據(jù)類型也可以是對(duì)象
簡(jiǎn)潔
相比 properties 配置文件,YAML 還有一個(gè)缺點(diǎn),就是不支持 @PropertySource 注解導(dǎo)入自定義的 YAML 配置。

3.spring boot 核心的兩個(gè)配置文件

spring boot 核心的兩個(gè)配置文件:

bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加載的,比 applicaton 優(yōu)先加載,配置在應(yīng)用程序上下文的引導(dǎo)階段生效。一般來說我們?cè)?Spring Cloud Config 或者 Nacos 中會(huì)用到它。且 boostrap 里面的屬性不能被覆蓋;
application (. yml 或者 . properties): 由ApplicatonContext 加載,用于 spring boot 項(xiàng)目的自動(dòng)化配置

4.如何在自定義端口上運(yùn)行 Spring Boot 應(yīng)用程序?

為了在自定義端口上運(yùn)行 Spring Boot 應(yīng)用程序,您可以在application.properties 中指定端口。server.port = 8090

5.如何實(shí)現(xiàn) Spring Boot 應(yīng)用程序的安全性?

為了實(shí)現(xiàn) Spring Boot 的安全性,我們使用 spring-boot-starter-security 依賴項(xiàng),并且必須添加安全配置。它只需要很少的代碼。配置類將必須擴(kuò)展WebSecurityConfigurerAdapter 并覆蓋其方法。

6.Spring Boot 中如何解決跨域問題 ?

可以通過 CORS 來解決跨域問題,只不過之前我們是在 XML 文件中配置 CORS ,現(xiàn)在可以通過實(shí)現(xiàn)WebMvcConfigurer接口然后重寫addCorsMappings方法解決跨域問題。

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .maxAge(3600);
    }

}

7.Spring Boot 打成的 jar 和普通的 jar 有什么區(qū)別 ?

Spring Boot 項(xiàng)目最終打包成的 jar 是可執(zhí)行 jar ,這種 jar 可以直接通過 java -jar xxx.jar 命令來運(yùn)行,這種 jar 不可以作為普通的 jar 被其他項(xiàng)目依賴,即使依賴了也無(wú)法使用其中的類。

Spring Boot 的 jar 無(wú)法被其他項(xiàng)目依賴,主要還是他和普通 jar 的結(jié)構(gòu)不同。普通的 jar 包,解壓后直接就是包名,包里就是我們的代碼,而 Spring Boot 打包成的可執(zhí)行 jar 解壓后,在 \BOOT-INF\classes 目錄下才是我們的代碼,因此無(wú)法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,將 Spring Boot 項(xiàng)目打包成兩個(gè) jar ,一個(gè)可執(zhí)行,一個(gè)可引用。

8.運(yùn)行 Spring Boot 有哪幾種方式?

1)打包用命令或者放到容器中運(yùn)行
2)用 Maven/ Gradle 插件運(yùn)行
3)直接執(zhí)行 main 方法運(yùn)行

9.如何使用 Spring Boot 實(shí)現(xiàn)分頁(yè)和排序?

使用 Spring Boot 實(shí)現(xiàn)分頁(yè)非常簡(jiǎn)單。使用 Spring Data-JPA 可以實(shí)現(xiàn)將可分頁(yè)的傳遞給存儲(chǔ)庫(kù)方法。

10.Spring、SpringBoot、SpringMVC的區(qū)別?

1、 Spring框架就像一個(gè)家族,有眾多衍生產(chǎn)品,例如boot、mvc、jpa等等。但他們的基礎(chǔ)都是Spring的ioc、aop。ioc提供了依賴注入的容器,aop解決了面向橫切面編程,然后在此兩者的基礎(chǔ)上實(shí)現(xiàn)了其它延伸產(chǎn)品的高級(jí)功能;
2、 springMVC是基于Servlet的一個(gè)MVC框架主要解決WEB開發(fā)的問題;
3、 為了簡(jiǎn)化開發(fā)的使用,從而創(chuàng)造性地推出了SpringBoot框架,默認(rèn)優(yōu)于配置

11.如何在 SpringBoot 中添加通用的 JS 代碼?

在源文件夾下,創(chuàng)建一個(gè)名為 static 的文件夾。然后,你可以把你的靜態(tài)的內(nèi)容放在這里面。
例如,myapp.js 的路徑是 resources\static\js\myapp.js

12.什么是 JavaConfig?

1、 面向?qū)ο蟮呐渲?。由于配置被定義為 JavaConfig 中的類,因此用戶可以充分利用 Java 中的面向?qū)ο蠊δ?。一個(gè)配置類可以繼承另一個(gè),重寫它的@Bean 方法等。

2、 **減少或消除 XML 配置。**基于依賴注入原則的外化配置的好處已被證明。但是,許多開發(fā)人員不希望在 XML 和 Java 之間來回切換。JavaConfig 為開發(fā)人員提供了一種純 Java 方法來配置與 XML 配置概念相似的 Spring 容器。從技術(shù)角度來講,只使用 JavaConfig 配置類來配置容器是可行的,但實(shí)際上很多人認(rèn)為將JavaConfig 與 XML 混合匹配是理想的。

3、 類型安全和重構(gòu)友好。JavaConfig 提供了一種類型安全的方法來配置 Spring容器。由于 Java 5.0 對(duì)泛型的支持,現(xiàn)在可以按類型而不是按名稱檢索 bean,不需要任何強(qiáng)制轉(zhuǎn)換或基于字符串的查找。

13.解釋 @Controller 作用?

通常用于修飾controller層的組件,由控制器負(fù)責(zé)將用戶發(fā)來的URL請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)接口,通常還需要配合注解**@RequestMapping**使用。
@RequestMapping 提供路由信息,負(fù)責(zé)URL到Controller中具體函數(shù)的映射,當(dāng)用于方法上時(shí),可以指定請(qǐng)求協(xié)議,比如GET、POST、PUT、DELETE等等。

/**
 * 登錄服務(wù)
 */
@Controller
@RequestMapping("api")
public class LoginController {
 
    /**
     * 登錄請(qǐng)求,post請(qǐng)求協(xié)議,請(qǐng)求參數(shù)數(shù)據(jù)格式為json
     * @param request
     */
    @RequestMapping(value = "login", method = RequestMethod.POST)
    @ResponseBody
    //表示該方法的返回結(jié)果直接寫入HTTP response body中,返回?cái)?shù)據(jù)的格式為application/json//比如,請(qǐng)求參數(shù)為json格式,返回參數(shù)也為json格式
    public ResponseEntity login(@RequestBody UserLoginDTO request){
     //...業(yè)務(wù)處理
        return new ResponseEntity(HttpStatus.OK);
    }
}

14.關(guān)于bean有哪些重要的注解?

@Service
通常用于修飾service層的組件,聲明一個(gè)對(duì)象,會(huì)將類對(duì)象實(shí)例化并注入到bean容器里面
@Component
泛指組件,當(dāng)組件不好歸類的時(shí)候,可以使用這個(gè)注解進(jìn)行標(biāo)注,功能類似于于@Service

@Repository
通常用于修飾dao層的組件,
@Repository注解屬于Spring里面最先引入的一批注解,它用于將數(shù)據(jù)訪問層 (DAO層 ) 的類標(biāo)識(shí)為Spring Bean,具體只需將該注解標(biāo)注在 DAO類上即可

@Bean
相當(dāng)于 xml 中配置 Bean,意思是產(chǎn)生一個(gè) bean 對(duì)象,并交給spring管理,示例代碼如下:

@Configuration
public class AppConfig {
 
   //相當(dāng)于 xml 中配置 Bean
    @Bean
    public Uploader initFileUploader() {
        return new FileUploader();
    }

}

@Autowired
自動(dòng)導(dǎo)入依賴的bean對(duì)象,默認(rèn)時(shí)按照byType方式導(dǎo)入對(duì)象,而且導(dǎo)入的對(duì)象必須存在,當(dāng)需要導(dǎo)入的對(duì)象并不存在時(shí),我們可以通過配置required = false來關(guān)閉強(qiáng)制驗(yàn)證。
@Autowired
private DeptService deptService;

項(xiàng)目驅(qū)動(dòng)學(xué)習(xí)

這是一個(gè)項(xiàng)目文件,在java包下面分為了這常見的5個(gè)層處理,在resources包就是一些資源文件。
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
最簡(jiǎn)單 的就entity 層,里面都是用戶的set get 屬性等相應(yīng)信息 ,在本項(xiàng)目中會(huì)有一個(gè)JSON 字符串生成:
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
接著來看Dao層文件,里面和實(shí)體類的相對(duì)應(yīng),命名方式也是XXXDAO
dao層的作用為訪問數(shù)據(jù)庫(kù),向數(shù)據(jù)庫(kù)發(fā)送sql語(yǔ)句,完成數(shù)據(jù)的增刪改查任務(wù)。由于這里使用了MyBatis ,在mapper層下面。
例如這項(xiàng)目中的DAO:
從mybatis3.4.0開始加入了@Mapper注解,目的就是為了不再寫mapper映射文件
注意DAO 層都是接口 ,并且用Repository 進(jìn)行表示
@Repository 注解在持久層中,具有將數(shù)據(jù)庫(kù)操作拋出的原生異常翻譯轉(zhuǎn)化為spring的持久層異常的功能
一般增刪改都是int 返回,而查詢一般是List 數(shù)據(jù)結(jié)構(gòu),并且利用集合的思想是List E 結(jié)構(gòu)模式。

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
接著看與之對(duì)應(yīng)的xml 數(shù)據(jù)庫(kù)配置:
namespace 就是映射的命名空間,就是Dao層 ,然后這里命名了
resultMap標(biāo)簽是為了映射select查詢出來結(jié)果的集合,其主要作用是將實(shí)體類中的字段與數(shù)據(jù)庫(kù)表中的字段進(jìn)行關(guān)聯(lián)映射。一句換,要解決屬性名和字段名不一致的問題。

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java

下面列舉一些增刪改查配置方式:
parameterType:參數(shù)類型。執(zhí)行SQL語(yǔ)句的時(shí)候,其中有一些數(shù)據(jù)往往是不確定的,比如條件,要插入的數(shù)據(jù)等。這些可以理解為就是參數(shù)。注意這里的參數(shù)和Dao 的抽象方法參數(shù)對(duì)應(yīng):
例如insertAdmin
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
而配置MyBatis:
這里定義了配置文件的位置

mybatis.config-location = classpath:mybatis.xml

最重要的就是這個(gè)映射關(guān)系
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java

#{ } 表示參數(shù)配置
其配置如下:

<!-- 管理員表 插入SQL語(yǔ)句  AdminDAO通過ID(insertAdmin)調(diào)用此配置 -->
	<insert id="insertAdmin" parameterType="admin">  
	# 這就是數(shù)據(jù)庫(kù)SQL 格式方式,
		insert into admin(adminid  , username  , password  , realname  , contact  , addtime ) values(#{adminid}  , #{username}   , #{password}   , #{realname}   , #{contact}   , #{addtime} )
	</insert>

	<!-- 管理員表 更新SQL語(yǔ)句  AdminDAO通過ID(updateAdmin)調(diào)用此配置 -->
	<update id="updateAdmin" parameterType="admin">
		update admin set  username=#{username}  , password=#{password}  , realname=#{realname}  , contact=#{contact}  , addtime=#{addtime}  where adminid=#{adminid}
	</update>

	<!-- 管理員表 按主鍵刪除SQL語(yǔ)句  AdminDAO通過ID(deleteAdmin)調(diào)用此配置 -->
	<delete id="deleteAdmin" parameterType="String">
		delete from admin where adminid = #{adminid}
	</delete>
	<!-- 管理員表 查詢?nèi)抗芾韱T信息SQL語(yǔ)句  AdminDAO通過ID(getAllAdmin)調(diào)用此配置  -->
	<select id="getAllAdmin" resultMap="adminMap">
		select a.*  from admin a  where 1=1  order by adminid desc
	</select>

下面來看service 層:
Service層業(yè)務(wù)層,service層的作用為完成功能設(shè)計(jì)。 存放業(yè)務(wù)邏輯處理,不直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,有接口和接口實(shí)現(xiàn)類,提供controller層調(diào)用的方法。
@Service注解用于類上,標(biāo)記當(dāng)前類是一個(gè)service類,加上該注解會(huì)將當(dāng)前類自動(dòng)注入到spring容器中,不需要再在applicationContext.xml文件定義bean了。
這個(gè)層依舊是接口:
基本上和Dao層類似
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
在service包中下面有個(gè)impl,這里就是實(shí)現(xiàn)接口方法的Impl 類:
一般這里的寫法就是return 了,值得注意的是,這里要寫@service
這里就建立和Dao的關(guān)系了,Impl 和Dao的關(guān)系,所以要自動(dòng)裝箱一個(gè)對(duì)象,這里有紅色 的原因是安全原因,解決方法見上,加個(gè)false。
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
下面進(jìn)入到Controller 層:
常見的@Controller,然后該頁(yè)面有個(gè)/admin 二級(jí)目錄。

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
在上面的層中是extends ,回到BaseController中:這里就是一些基本信息。
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
在AdminController中,使用的String 返回html 視圖:
Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
在這里就可以看到如果登陸失敗就重定向,否則就進(jìn)入main 頁(yè)面 :

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
這里就展示一個(gè)查詢表格的關(guān)鍵代碼:
注意有這個(gè)引入

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1),Spring體系,spring boot,后端,java
這個(gè)引入方法和我們平時(shí)的templates 不一樣;
由上面可知 他的地址配置如下

spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp

在這里也用的分頁(yè)技術(shù)。

以上就是全部關(guān)于Spring Boot的基礎(chǔ)內(nèi)容了。文章來源地址http://www.zghlxwxcb.cn/news/detail-822352.html

到了這里,關(guān)于Spring Boot 基礎(chǔ)知識(shí)點(diǎn)1 (含面試題1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring MVC相關(guān)知識(shí)點(diǎn)

    首先,MVC模型是模型,視圖,控制器的簡(jiǎn)寫,其思想核心是通過將請(qǐng)求處理控制,業(yè)務(wù)邏輯,數(shù)據(jù)封裝,數(shù)據(jù)顯示等流程節(jié)點(diǎn)分離的思想來組織代碼。 所以,MVC是一種設(shè)計(jì)模式,而SpringMVC是一款基于MVC設(shè)計(jì)模式思想實(shí)現(xiàn)的MVC框架,屬于Spring技術(shù)棧的一部分。SpringMVC可以幫我們

    2024年02月13日
    瀏覽(22)
  • Spring AOP知識(shí)點(diǎn)詳解

    Spring AOP知識(shí)點(diǎn)詳解

    Spring AOP是 Spring最核心的能力,那到底什么是AOP呢,今天了不起帶大家了解一下。 AOP(Aspect Oriented Programming): 面向切面編程 ,是OOP(面向?qū)ο缶幊?的一個(gè)延續(xù),其和OOP一樣,也是一種編程思想,不過AOP是一種橫向開發(fā)模式。 OOP ,面向?qū)ο?,允許開發(fā)者定義縱向的關(guān)系,但并適

    2024年02月16日
    瀏覽(27)
  • Java基礎(chǔ)-知識(shí)點(diǎn)03(面試|學(xué)習(xí))

    Java基礎(chǔ)-知識(shí)點(diǎn)03(面試|學(xué)習(xí))

    String 類是Java中用于表示字符串的類。在Java中,字符串是一系列字符的序列,用于表示文本數(shù)據(jù)。 String類的作用及特性 1、 創(chuàng)建字符串 : 可以通過字符串字面量或使用new來創(chuàng)建字符串對(duì)象。 2、 字符串長(zhǎng)度 : 可以使用length()方法獲取字符串的長(zhǎng)度。 3、 字符串連接

    2024年04月15日
    瀏覽(48)
  • Java面試知識(shí)點(diǎn)(全)- Java面試基礎(chǔ)部分一

    Java面試知識(shí)點(diǎn)(全)- Java面試基礎(chǔ)部分一

    Java面試知識(shí)點(diǎn)(全)https://nanxiang.blog.csdn.net/article/details/130640392 語(yǔ)法基礎(chǔ) 封裝 利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,使其構(gòu)成一個(gè)不可分割的獨(dú)立實(shí)體。數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)類型的內(nèi)部,盡可能地隱藏內(nèi)部的細(xì)節(jié),只保留一些對(duì)外接口使之與外部發(fā)生聯(lián)

    2024年02月05日
    瀏覽(28)
  • Spring、Springboot、SpringCloud--包含的知識(shí)點(diǎn)大全

    類型 難度 AOP spring-自定義AOP面向切面注解--統(tǒng)一切面處理-登陸信息采集 快速入門Springboot+AOP實(shí)現(xiàn)切面處理請(qǐng)求Demo 線程池 通俗易懂的線程池底層原理,一文知所有 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)-鏈表篇 數(shù)據(jù)結(jié)構(gòu)--數(shù)組篇 數(shù)據(jù)結(jié)構(gòu)之-concurrentHashMap源碼分析 JVM JVM調(diào)優(yōu)及各種問題處理 事務(wù)

    2024年02月13日
    瀏覽(30)
  • 【面試題】C#面試常見基礎(chǔ)知識(shí)點(diǎn)整理(附示例代碼)

    大家好,這是自己自行整理的c#面試題,方便自己學(xué)習(xí)的同時(shí)分享出來。 相同點(diǎn) 抽象方法和虛方法都可以供派生類重寫, 派生類重寫父類的方法都要使用override來聲明。 不同點(diǎn) 虛方法必須有方法名稱和方法實(shí)現(xiàn);抽象方法是只有方法名稱,沒有方法實(shí)現(xiàn); 虛方法在派生

    2024年02月02日
    瀏覽(28)
  • Spring AOP官方文檔學(xué)習(xí)筆記(四)之Spring AOP的其他知識(shí)點(diǎn)

    Spring AOP官方文檔學(xué)習(xí)筆記(四)之Spring AOP的其他知識(shí)點(diǎn)

    1.選擇哪種AOP (1) 使用Spring AOP比使用完整版的AspectJ更方便簡(jiǎn)單,因?yàn)椴恍枰陂_發(fā)和構(gòu)建過程中引入AspectJ編譯器以及織入器,如果我們只希望通知能夠在Spring Bean上執(zhí)行,那么選用Spring AOP就可以了,如果我們希望通知能夠在不由Spring所管理的對(duì)象上執(zhí)行,那么就需要使用AspectJ,如果

    2024年02月03日
    瀏覽(20)
  • 【體系結(jié)構(gòu)】山東大學(xué)計(jì)算機(jī)體系結(jié)構(gòu)知識(shí)點(diǎn)清單

    【體系結(jié)構(gòu)】山東大學(xué)計(jì)算機(jī)體系結(jié)構(gòu)知識(shí)點(diǎn)清單

    涵蓋所有考點(diǎn),復(fù)習(xí)絕對(duì)高效,點(diǎn)贊+留郵箱獲取pdf版本 1. 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu) 語(yǔ)言實(shí)現(xiàn)的兩種基本技術(shù): 翻譯:先把 N+1 級(jí)程序全部轉(zhuǎn)換成 N 級(jí)程序后,再去執(zhí)行新產(chǎn)生的 N 級(jí)程序,在執(zhí)行過程中 N+1 級(jí)程序不再被訪問。 解釋:每當(dāng)一條 N+1 級(jí)指令被譯碼后,就直接去執(zhí)

    2024年02月11日
    瀏覽(133)
  • 【字節(jié)面試】Fail-fast知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)

    【字節(jié)面試】Fail-fast知識(shí)點(diǎn)相關(guān)知識(shí)點(diǎn)

    字節(jié)面試,問到的一個(gè)小知識(shí)點(diǎn),這里做一下總結(jié),其實(shí)小編之前有一篇文章,已經(jīng)對(duì)此有過涉及,不過這里知識(shí)專項(xiàng)針對(duì)于問題,把這個(gè)知識(shí)點(diǎn)拎出來說一下。 什么是Fail-fast機(jī)制? Hashmap是否擁有Fail-fast機(jī)制? ConcurrentModificationException異常原因和解決方法是什么? 哪些你常

    2024年01月22日
    瀏覽(52)
  • Java體系性能測(cè)試進(jìn)階必須了解的知識(shí)點(diǎn)——死鎖分析和鎖競(jìng)爭(zhēng)分析

    Java體系性能測(cè)試進(jìn)階必須了解的知識(shí)點(diǎn)——死鎖分析和鎖競(jìng)爭(zhēng)分析

    所謂 死鎖 ,是指多個(gè)進(jìn)程在運(yùn)行過程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵持狀態(tài)時(shí),若無(wú)外力作用,它們都將無(wú)法再向前推進(jìn)。對(duì)于鎖更好的理解,先要理解monitor這個(gè)概念! monitor直譯過來是監(jiān)視器的意思,專業(yè)一點(diǎn)叫管程。monitor是屬于編程語(yǔ)言級(jí)別的,它的出現(xiàn)

    2024年02月07日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包