より軽量なフレームワークSpringboot学習
55155 ワード
SpringBoot学習
###踏んだ穴:Ctrl+alt+L:列編集(使いにくい(Ctrl+altを手放さない):::alt+プラスプル(ソースモード)typoraの好み設定には、復元前に保存されていなかったファイルが入っていて、強すぎて、粉が!!!
SpringBootでは、デフォルト設定の/**が/staticにマッピングされます.静的リソースマッピングには、ここで簡単に使用するための構成オプションもある.properties方式で書く:
spring.mvc.static-path-pattern=/** # Path pattern used for static resources.
この構成はデフォルトの/**に影響します.たとえば、/static/**に変更すると、/static/js/sampleのようなマッピングしかできません.jsというリクエスト(修正前は/js/sample.js).この構成では、カンマで区切られた複数の値を構成できるのではなく、1つの値しか書けません.
アプリケーションでymlファイルには階層構造(ideaのヒント)に厳格に従って書いても間違いありません!
SpringBootビュー
Thymeleaf
...
SpringBootの運転方式はIDEAで直接入口クラス を実行する. Spring-boot-maven-pluginで実行可能なjarパッケージにし、Java-jarで を実行する mvc spring-boot:runにより を実行
パッケージの導入:
JArパッケージ
SpringBootは、SpringBootが提供するパッケージプラグインを通じて、プロジェクトを実行可能なjarパッケージにパッケージ化することを提案しています(このjarパッケージにはTomcatが内蔵されており、直接webとして走ることができます)、導入と管理が便利です.
コンパイルプラグインの追加(start.spring.ioで作成されたプロジェクトのデフォルト)
そしてそのまま
src/main/webappディレクトリを使用するとjarパケットにすると、そのディレクトリのすべてのファイルが無視されます.この場合、warパケットを打つ方法しか選択できません.
warパッケージ
主に二つのステップに分かれている
最初のステップはpomを変更します.xml
構成例:pom.xml
ステップ2起動クラスの登録
サーブレットInitializerの作成JAvaは、SpringBootServiceletInitializerを継承し、configure()を上書きし、起動クラスApplicationを登録します.外部WebアプリケーションサーバがWebアプリケーションContextを構築する場合、起動クラスが追加されます.
Mybatisインバースエンジニアリングプラグインテンプレート
generatorConfig.xmlのプロファイルは以前にアップロードされていました.
SpringBoot-SM統合
ステップ1:
構成pom.xmlおよびMybatis逆工程の生成
ステップ2
起動クラスの識別
ステップ3
application.yml構成記入
ステップ4
書く必要があります(階層で始められます)
ThymeleafテンプレートエンジンがJSPビューに取って代わる
SpringBootはJSPビューの代わりにThymeleafテンプレートエンジンを使用することを公式に提案していますが、JSPを使用したい場合はどうすればいいですか?はい、次のステップで構成すればいいです.
ステップ1:pomを変更するxmlでのパッケージ方式はwar
ステップ2:JSP依存の追加
ステップ3:InternalResourceViewResolverパラメータの構成
注意:1、jspページは必ずwebappディレクトリまたはwebapp/WEB-INF/下2に置かなければならない.jspをビューとして使用した場合、エンジニアリングはwarパッケージとしてしか配置できない(jarパッケージはwebappディレクトリの下のものを打ち込まないため)
ピットを踏む Dateクラス解決 Spring Bootプロジェクトで=@RestControl==注記を使用して、返されるjavaオブジェクトにdateタイプのプロパティが含まれている場合、デフォルト出力はTIMESTAMPタイムスタンプフォーマット です.
アプリケーションでpropertiesプロファイルには、次の構成が追加されます. Spring Bootプロジェクトで=@Controller==注記を使用してModelに格納されているjavaオブジェクトにdateタイプのプロパティが含まれている場合、デフォルトはGBKフォーマット です. を明示的に存在しなければならない. layUIのテーブルcols[{}]]とthymeleafのインライン式の競合は、競合cols[{}]] を簡単に変更するために、このように書く必要があります. bannerファイル 面白い ASMシリーズ6 TreeApiによるクラスメンバーの追加と削除
lijingyao8206
jvm ダイナミックエージェント ASM バイトコード技術 TreeAPI
Springmvc-パーミッション設計
bee1314
spring Web jsp
アルゴリズムコンテスト入門経典(第2版)第2章練習問題
CrazyMizzz
c アルゴリズム#アルゴリズム#
struts 2でjspが自動的にActionにジャンプ
麦畑の設計者
jsp webxml struts2 じどうジャンプ
php操作webserviceインスタンス
IT独行者
PHP webservice
WindowsでVagrantを使用してlinuxシステムをインストールする
_wy_
windows vagrant
linuxのファイル所有者およびユーザーグループ(chownおよびchgrp)の変更
むりょう
c linux chgrp chown
linux下パッケージツール
矮蛋
linux
アルファベットで分類:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号
###踏んだ穴:Ctrl+alt+L:列編集(使いにくい(Ctrl+altを手放さない):::alt+プラスプル(ソースモード)typoraの好み設定には、復元前に保存されていなかったファイルが入っていて、強すぎて、粉が!!!
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
<scope>providedscope>
dependency>
SpringBoot war , Tomcat :
<ol>
<li> pom warli>
<li> spring-boot-starter-tomcat providedli>
<li> li>
ol>
SpringBootでは、デフォルト設定の/**が/staticにマッピングされます.静的リソースマッピングには、ここで簡単に使用するための構成オプションもある.properties方式で書く:
spring.mvc.static-path-pattern=/** # Path pattern used for static resources.
この構成はデフォルトの/**に影響します.たとえば、/static/**に変更すると、/static/js/sampleのようなマッピングしかできません.jsというリクエスト(修正前は/js/sample.js).この構成では、カンマで区切られた複数の値を構成できるのではなく、1つの値しか書けません.
アプリケーションでymlファイルには階層構造(ideaのヒント)に厳格に従って書いても間違いありません!
SpringBootビュー
Thymeleaf
(springBoot )
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-thymeleafartifactId>
dependency>
...
SpringBootの運転方式
パッケージの導入:
JArパッケージ
SpringBootは、SpringBootが提供するパッケージプラグインを通じて、プロジェクトを実行可能なjarパッケージにパッケージ化することを提案しています(このjarパッケージにはTomcatが内蔵されており、直接webとして走ることができます)、導入と管理が便利です.
コンパイルプラグインの追加(start.spring.ioで作成されたプロジェクトのデフォルト)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<packaging>jarpackaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<configuration>
<fork>truefork>
configuration>
plugin>
plugins>
build>
project>
そしてそのまま
$ mvn clean package
$ java -jar target/mymodule-0.0.1-SNAPSHOT.jar
src/main/webappディレクトリを使用するとjarパケットにすると、そのディレクトリのすべてのファイルが無視されます.この場合、warパケットを打つ方法しか選択できません.
warパッケージ
主に二つのステップに分かれている
最初のステップはpomを変更します.xml
構成例:pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<packaging>warpackaging>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
<scope>providedscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>jstlartifactId>
dependency>
<dependency>
<groupId>org.apache.tomcat.embedgroupId>
<artifactId>tomcat-embed-jasperartifactId>
<scope>providedscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-surefire-pluginartifactId>
<configuration>
<useSystemClassLoader>falseuseSystemClassLoader>
configuration>
plugin>
plugins>
build>
project>
ステップ2起動クラスの登録
サーブレットInitializerの作成JAvaは、SpringBootServiceletInitializerを継承し、configure()を上書きし、起動クラスApplicationを登録します.外部WebアプリケーションサーバがWebアプリケーションContextを構築する場合、起動クラスが追加されます.
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Mybatisインバースエンジニアリングプラグインテンプレート
generatorConfig.xmlのプロファイルは以前にアップロードされていました.
// mysql——springboot scope runtime
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.18version>
dependency>
<plugin>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
<version>1.3.7version>
<executions>
<execution>
<id>Generate MyBatis Artifactsid>
<goals>
<goal>generategoal>
goals>
execution>
executions>
<configuration>
<configurationFile>${basedir}/src/main/resources/mybatis/generatorConfig.xmlconfigurationFile>
<includeCompileDependencies>trueincludeCompileDependencies>
<overwrite>trueoverwrite>
configuration>
plugin>
SpringBoot-SM統合
ステップ1:
構成pom.xmlおよびMybatis逆工程の生成
ステップ2
起動クラスの識別
ステップ3
application.yml構成記入
ステップ4
書く必要があります(階層で始められます)
ThymeleafテンプレートエンジンがJSPビューに取って代わる
SpringBootはJSPビューの代わりにThymeleafテンプレートエンジンを使用することを公式に提案していますが、JSPを使用したい場合はどうすればいいですか?はい、次のステップで構成すればいいです.
ステップ1:pomを変更するxmlでのパッケージ方式はwar
...
war
...
ステップ2:JSP依存の追加
org.apache.tomcat.embed
tomcat-embed-jasper
ステップ3:InternalResourceViewResolverパラメータの構成
spring:
mvc:
view:
prefix: /WEB-INF/ # JSP
suffix: .jsp # JSP
注意:1、jspページは必ずwebappディレクトリまたはwebapp/WEB-INF/下2に置かなければならない.jspをビューとして使用した場合、エンジニアリングはwarパッケージとしてしか配置できない(jarパッケージはwebappディレクトリの下のものを打ち込まないため)
ピットを踏む
mybatis: mapper-locations: classpath:/mybatis/mappers/*.xml
config-location:
アプリケーションでpropertiesプロファイルには、次の構成が追加されます.
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
# bean date @JSONFormat("yyyy-MM-dd HH:mm:ss")
#dates.format()
${#dates.format(date, 'dd/MMM/yyyy HH:mm')}
${#dates.arrayFormat(datesArray, 'dd/MMM/yyyy HH:mm')}
${#dates.listFormat(datesList, 'dd/MMM/yyyy HH:mm')}
${#dates.setFormat(datesSet, 'dd/MMM/yyyy HH:mm')}
<!-- ——>
<td th:text="${#dates.format(book.publish, 'yyyy-MM-dd HH:mm')}">td>
@InitBinder
は、@Controller
でメソッドに落札するために使用され、現在のコントローラにプロパティエディタまたはその他を登録し、現在のコントローラにのみ有効であることを示します.一方、@ControllerはDateクラス@InitBinderpublic void initBinder(ServletRequestDataBinder binder) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
}
/**
* handler
* @author zhanghang
* @date 2018/1/11
*/
@Component
public class DateConverterConfig implements Converter<String, Date> {
private static final List<String> formarts = new ArrayList<>(4);
static{
formarts.add("yyyy-MM");
formarts.add("yyyy-MM-dd");
formarts.add("yyyy-MM-dd hh:mm");
formarts.add("yyyy-MM-dd hh:mm:ss");
}
@Override
public Date convert(String source) {
String value = source.trim();
if ("".equals(value)) {
return null;
}
if(source.matches("^\\d{4}-\\d{1,2}$")){
return parseDate(source, formarts.get(0));
}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){
return parseDate(source, formarts.get(1));
}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){
return parseDate(source, formarts.get(2));
}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){
return parseDate(source, formarts.get(3));
}else {
throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
}
}
/**
*
* @param dateStr String
* @param format String
* @return Date
*/
public Date parseDate(String dateStr, String format) {
Date date=null;
try {
DateFormat dateFormat = new SimpleDateFormat(format);
date = dateFormat.parse(dateStr);
} catch (Exception e) {
}
return date;
}
}
// 、、、、、、、
/*SpringApplication.run(SpringbootSsmApplication.class, args);*/
//
// banner
SpringApplicationBuilder sub
= new SpringApplicationBuilder(SpringbootSsmApplication.class);
sub.bannerMode(Banner.Mode.OFF).run(args);
table, tr, td, th {
/* :collapse、separate*/
border-collapse: separate;
}
/* HTML , 。rel 。*/
"stylesheet" href="/static/css/table_y.css">
"text/javascript"</span> src=<span class="token string">"myscripts.js"</span>>
: !
</code></pre>
<h1><strong> import:</strong></h1>
<h3>SpringBoot 2.1 Tomcat 10M </h3>
<pre><code class="prism language-Java">@Bean
public TomcatServletWebServerFactory tomcatEmbedded() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
//-1 means unlimited
((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
}
});
return tomcat;
}
</code></pre>
<h3>SpringBoot 1.5 Tomcat 10M </h3>
<pre><code class="prism language-java"><span class="token annotation punctuation">@Bean</span>
<span class="token keyword">public</span> TomcatEmbeddedServletContainerFactory <span class="token function">tomcatFactory</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
TomcatEmbeddedServletContainerFactory tomcatFactory <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">TomcatEmbeddedServletContainerFactory</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
tomcatFactory<span class="token punctuation">.</span><span class="token function">addConnectorCustomizers</span><span class="token punctuation">(</span><span class="token punctuation">(</span>TomcatConnectorCustomizer<span class="token punctuation">)</span> connector <span class="token operator">-</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>connector<span class="token punctuation">.</span><span class="token function">getProtocolHandler</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">instanceof</span> <span class="token class-name">AbstractHttp11Protocol</span><span class="token operator"><</span><span class="token operator">?</span><span class="token operator">></span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">//-1 means unlimited</span>
<span class="token punctuation">(</span><span class="token punctuation">(</span>AbstractHttp11Protocol<span class="token operator"><</span><span class="token operator">?</span><span class="token operator">></span><span class="token punctuation">)</span> connector<span class="token punctuation">.</span><span class="token function">getProtocolHandler</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">setMaxSwallowSize</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> tomcatFactory<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre>
</div>
</div>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1278128051439288320"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
興味があるかもしれませんlijingyao8206
jvm ダイナミックエージェント ASM バイトコード技術 TreeAPI
bee1314
spring Web jsp
CrazyMizzz
c アルゴリズム#アルゴリズム#
麦畑の設計者
jsp webxml struts2 じどうジャンプ
IT独行者
PHP webservice
_wy_
windows vagrant
むりょう
c linux chgrp chown
矮蛋
linux
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号