Erste Schritte mit Spring Boot Starter
Um ein herkömmliches Spring-Projekt auszuführen, müssen Sie nicht nur verschiedene Abhängigkeiten importieren, sondern auch verschiedene XML-Konfigurationsdateien konfigurieren, was jedoch auch ohne das Spring Boot-Projekt sehr umständlich ist Das Schreiben von beliebigem Code kann dank des Starter-Mechanismus von Spring Boot direkt und ohne Konfiguration ausgeführt werden. Spring Boot extrahiert verschiedene Szenarien in der täglichen Entwicklung von Unternehmensanwendungen und macht sie nacheinander zu Startern. Es integriert verschiedene Abhängigkeiten, die dabei verwendet werden können Szenario: Benutzer müssen nur die Starter-Abhängigkeit in Maven einführen, und SpringBoot kann die zu ladenden Informationen automatisch scannen und die entsprechende Standardkonfiguration starten. Der Starter bietet eine große Menge automatischer Konfigurationen und befreit Benutzer von der Mühe, sich mit verschiedenen Abhängigkeiten und Konfigurationen auseinanderzusetzen. Alle diese Starter folgen den herkömmlichen Standardkonfigurationen und ermöglichen es Benutzern, diese Konfigurationen anzupassen, d. h. nach dem Prinzip „
Konvention ist größer als Konfiguration“Nicht alle Starter werden offiziell von Spring Boot bereitgestellt, und es gibt auch einige Starter Es wird von Technologie-Drittanbietern wie druid-spring-boot-starter und mybatis-spring-boot-starter usw. bereitgestellt. Natürlich gibt es auch einzelne Technologien von Drittanbietern, die offiziell keinen Starter bereitstellen, und auch Technologieanbieter von Drittanbietern bieten keinen Starter an Daher müssen Sie bei der Verwendung von Spring Boot zum Entwickeln eines Webprojekts nur den Starter einführen, ohne zusätzlich den Webserver und andere Webabhängigkeiten zu importieren
<!--SpringBoot父项目依赖管理--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.13</version> <relativePath/> </parent> <dependencies> <!--导入 spring-boot-starter-web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ... </dependencies> </project>
Möglicherweise liegt ein Problem vor. In der Konfiguration der obigen pom.xml wird bei der Einführung der Abhängigkeit spring-boot-starter-web ihre Version nicht angegeben, aber im Abhängigkeitsbaum sehen wir, dass alle Abhängigkeiten Versionsinformationen haben. Wo werden diese Versionsinformationen gesteuert? ?
Tatsächlich werden diese Versionsinformationen einheitlich von
spring-boot-starter-parent(Version Arbitration Center) kontrolliert.
spring-boot-starter-parent
spring-boot-starter-parent ist die übergeordnete Abhängigkeit aller Spring Boot-Projekte. Es wird als Versionsvermittlungszentrum von Spring Boot bezeichnet und kann einige allgemeine Abhängigkeiten innerhalb des Projekts verarbeiten. Einheitliche Verwaltung. <!--SpringBoot父项目依赖管理-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
Spring Boot-Projekte können einige vernünftige Standardkonfigurationen erhalten, indem sie Spring-Boot-Starter-Parent erben, das hauptsächlich die folgenden Funktionen bietet:
Standard-JDK-Version (Java 8)
-
Standardzeichensatz (UTF- 8) Funktion zur Abhängigkeitsverwaltung
1.1 SpringBoot Festlegen der Portnummer
server: port: 8989 #配置端口
server: servlet: context-path: /springboot #配置项目的虚拟路径(根路径) 项目名使用/开头1.3 Aufteilung der SpringBoot-Konfigurationsdatei
spring: profiles: active: dev #开发环境
# 显示sql logging: level: cn.kgc.springboot.mapper: debug #开启日志
1.5 SpringBoot implementiert Hot Deployment
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
3. Konfigurieren Sie die application.yml-Datei
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 如果devtools不生效 请设置该属性 --> </configuration> </plugin> </plugins> </build>
Strg + Umschalt + Alt + /, wählen Sie „Registrierung“ und aktivieren Sie „Compiler autoMake erlauben, wenn die App ausgeführt wird“. devtools:
restart:
enabled: true #开启热部署
3. Schreiben Sie den Controller, die Business-Schicht und die Persistenzschicht zum Testen. Verwenden Sie Bean-Tag-Einstellungen in der Dateiverwaltung von Objekten
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
----------------------------------------------
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
2. Verwenden Sie die Annotation @Component @Controller @Service @Repository
So verwaltet Springboot Objekte:
1 Springboot unterstützt die Verwendung des Annotationszusatzes
@Configuration. In der Konfigurationsklasse entspricht diese Klasse als Konfigurationsklasse der Spring-Konfigurationsdatei. Diese Annotation kann nur in der Klasse verwendet werden. Verwenden Sie die Annotation „@Bean“ für die Methode in der Konfigurationsklasse, die dem Bean-Tag in der Spring-Konfigurationsdatei entspricht
Attributinjektion
Frühlings-Original-Injektionsmethode
1.set-Methode2.Konstruktor3.automatische Injektionname: tom age: 30 price: 23.5 sex: true birth: 2021/11/28 12:12:12 array: 12,13,15,17 list: 李四,lisi,tom map: "{'aa':30,'bb':'lisi'}" # 注入map使用json格式 取值的个数#{${map}}
对象的注入
object: name: lisi age: 20 birth: 2021/11/24
@Controller @RequestMapping("/inject2") @ConfigurationProperties("object") public class InjectController2 { private String name; private Integer age; private Date birth; public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setBirth(Date birth) { this.birth = birth; } @RequestMapping("/inject") @ResponseBody public String inject(){ System.out.println(name); System.out.println(age); System.out.println(birth); return "ok"; } }
注意:添加一下依赖,可以再写yaml文件时提示,消除红色的警告提示。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
springBoot整合JSP
引入依赖
<!-- 标准标签库--> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 让springboot内置的tomcat具有解析jsp的能力--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>
配置视图解析器
spring: mvc: view: prefix: / suffix: .jsp
设置不重启项目 刷新jsp页面
server: servlet: jsp: init-parameters: development: true # 修改jsp页面无需重新启动项目
集成后无法访问jsp页面解决方案
1.添加插件
<build> <resources> <!--注册webapp目录为资源目录--> <resource> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> <includes> <include>**/*.*</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.设置工作目录
3.插件启动
SpringBoot整合MyBatis
引入依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency>
编写配置文件
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver username: root password: root url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf-8
mybatis配置
mybatis: mapper-locations: classpath:mapper/*.xml #设置mapper文件的位置 type-aliases-package: cn.kgc.springboot.entity # 起别名 configuration: map-underscore-to-camel-case: true #开启驼峰命名
设置dao接口的扫描
1.在入口类上使用注解,完成扫描
@SpringBootApplication @MapperScan("cn.kgc.springboot.dao") //扫描dao接口所在的包 同时生成代理对象 注入spring容器 public class Springday02Application { public static void main(String[] args) { SpringApplication.run(Springday02Application.class, args); } }
Das obige ist der detaillierte Inhalt vonWie integriert Java SpringBoot JSP und MyBatis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

JvmmanagesGecollectionAcrossplattformseffektivyusingagenerationalApproachandaDaptoosandhardwaredFerces

Java -Code kann auf verschiedenen Betriebssystemen ohne Änderung ausgeführt werden, da Javas "einmal schreiben, überall rennen" von Java Virtual Machine (JVM) implementiert wird. Als Vermittler zwischen dem kompilierten Java -Bytecode und dem Betriebssystem übersetzt das JVM die Bytecode in bestimmte Maschinenanweisungen, um sicherzustellen, dass das Programm mit installiertem JVM unabhängig auf jeder Plattform ausführen kann.

Die Zusammenstellung und Ausführung von Java -Programmen erreicht die Unabhängigkeit der Plattform über Bytecode und JVM. 1) Schreiben Sie Java -Quellcode und kompilieren Sie ihn in Bytecode. 2) Verwenden Sie JVM, um Bytecode auf einer beliebigen Plattform auszuführen, um sicherzustellen, dass der Code über Plattformen hinweg ausgeführt wird.

Die Java -Leistung hängt eng mit der Hardwarearchitektur zusammen, und das Verständnis dieser Beziehung kann die Programmierfunktionen erheblich verbessern. 1) Der JVM wandelt Java -Bytecode durch JIT -Zusammenstellung in Maschinenanweisungen um, die von der CPU -Architektur beeinflusst werden. 2) Speicherverwaltung und Müllsammlung werden von RAM und Speicherbusgeschwindigkeit beeinflusst. 3) Vorhersage von Cache und Branche optimieren Sie die Ausführung der Java -Code. 4) Multi-Threading- und Parallelverarbeitung verbessern die Leistung bei Multi-Core-Systemen.

Die Verwendung von nativen Bibliotheken wird die Unabhängigkeit der Java -Plattform zerstören, da diese Bibliotheken für jedes Betriebssystem separat kompiliert werden müssen. 1) Die native Bibliothek interagiert mit Java über JNI und bietet Funktionen, die nicht direkt von Java implementiert werden können. 2) Die Verwendung native Bibliotheken erhöht die Projektkomplexität und erfordert das Verwalten von Bibliotheksdateien für verschiedene Plattformen. 3) Obwohl native Bibliotheken die Leistung verbessern können, sollten sie mit Vorsicht verwendet und plattformübergreifende Tests durchgeführt werden.

JVM übernimmt das Betriebssystem -API -Unterschiede über JavanativeInterface (JNI) und Java Standard Library: 1. JNI ermöglicht Java -Code, lokalen Code aufzurufen und direkt mit der API des Betriebssystems zu interagieren. 2. Die Java -Standardbibliothek bietet eine einheitliche API, die intern auf verschiedene Betriebssystem -APIs zugeordnet ist, um sicherzustellen, dass der Code über Plattformen hinweg ausgeführt wird.

Modularitydoesnotdirectentafectjava'SPlatformIndeIndeNependence.java'splattformIndependenceSmainusted bythejvm, ButmodularityIncesces Applicationsstructureandmanagement, indirekte ImpactingPlatformIndependenz.1) Einsatz und Verteilung der Einführung und Verteilung von Indirekten

BytecodeInjavaistheIntermediateRepresentationThatenableSlattformindependenz.1) JavacodeiscompiledIntobyteCodestoredIn.ClassFiles.2) thejvMinterPretSorCompilestheSByteCodeIntomachineCodeatruntime, sobyTeFetorcodornonunononeyTeAnfulTeMeByteful, somitSameDesamful, sombesambytefuls, sombesfile, sombesambyfulyfulyfulTecodorneunononeNononignaThaThesAdful, sombesambyful, somitsame, somit


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft
