SpringCloudのちょっとしたまとめ
9130 ワード
新しい会社のフレームワークはspring boot,cloudのマイクロサービスフレームワークです.
実はもともと学びたいという考えもあって、ちょうど会社はしばらく勉強しました.そこでまとめてみます.
この文章は主にspringbootに関するいくつかのキーをまとめます.
環境:JDK 8 STS 4.9 MYSQL springBoot1.4.1 maven4.0
SpringBootはspringMvcに基づいて、より簡単なコード量、構成、導入をさらに実現しているような気がします.
それに比べてspringMvcを作成する必要がある場合は、Webを新規作成する必要があります.xml構成アプリケーション.properties,pomは対応するspring jarに依存してcontrollerの対応するインタフェースの方法を書きます
tomcatを導入し、tomcatに配置し、tomcatを起動します.
springBootはpomファイルに自分でカプセル化した依存を導入し、controllerで自分の方法を書くだけでmain関数が実行できます.
習慣を約束の配置として、業務の開発に専念し、配置を少なくし、学習の敷居を低くする.
欠点はスプリングに慣れていないと穴が多すぎることです.の自分でゆっくり並びましょう...
Springmvcはもう言わない.次に最も簡単なspringboot demoを始めます
新しいmavenプロジェクトを作成します.
pomに関連jarを導入
最も基本的な依存はspring-boot-starter-parentを親として継承し、すべてのspringbootの関連依存をカプセル化します.
以下は対応するweb依存、必写、最も基本的な依存、demoだけを書けばここまで2つの依存で十分です
jdbc依存、およびMybatisの2つの選択は、データベースに接続する方法の1つです.
mybatis依存、ここのmybatisバージョンは1.1.1 1.0.0であり、ページング操作はサポートされていません.PageHelper関連プラグインのページングを自分で実現する必要があります.
Actuator依存、すなわち健康モニタリングは、プロジェクトの開始後/healthでプロジェクトの稼働健康状態を表示できます.
次の基本的な依存は書き終わったらコントロールを書くことができます
対応する注釈はすべてコードの中にあって、ここで1つの外部変数に関連して、SpringBootの変数とデータベースの配置はすべてアプリケーションです.properties
このファイルはデフォルトのロードファイルで、デフォルトのロードアドレスはルートディレクトリで、一般的にresourceの下で、
コード:
データベースのアドレスがそれぞれ指定されています
デフォルトでロードされたtomcatのパラメータ
カスタムグローバル変数、変数の直接呼び出し方法
マルチ環境間のプロファイルのアドレス(devなど)は、兄弟ディレクトリの下にアプリケーション-dev.propertiesが存在します.具体的な呼び出しは、起動プロジェクトの導入時にこの値を指定して動的に呼び出します.
loggerはログファイルのいくつかのパラメータを設定します.ここでは、どのログを使用するかをカスタマイズしないと、自動的に持参したlogbackが使用されます.
Jdbcはdaoを必要としないで、mybatisは相応のmapperを必要として、私のここでサボって使う注釈、起動ログの中で1つのwarnを報告して、No MyBatis mapper was found in'[cn.com.gome.SimpleDemo]'package.Please check your configuration. 操作に影響しない
mybaties daoレイヤのコードを貼り付けます
対応するエンティティクラスにも対応する注釈が必要です
エンティティクラスのtableNameの中間の大文字と小文字に注意してください.中間の大文字を自動的に小文字にします.そうしたくない場合は、カスタム継承がマッピングクラス実装を上書きする必要があります.
プロジェクトの開始、localhost:8080へのアクセス
ハロー、boy!これはカスタマイズされたグローバル変数です
Demoが完了しました.
実はもともと学びたいという考えもあって、ちょうど会社はしばらく勉強しました.そこでまとめてみます.
この文章は主にspringbootに関するいくつかのキーをまとめます.
環境:JDK 8 STS 4.9 MYSQL springBoot1.4.1 maven4.0
SpringBootはspringMvcに基づいて、より簡単なコード量、構成、導入をさらに実現しているような気がします.
それに比べてspringMvcを作成する必要がある場合は、Webを新規作成する必要があります.xml構成アプリケーション.properties,pomは対応するspring jarに依存してcontrollerの対応するインタフェースの方法を書きます
tomcatを導入し、tomcatに配置し、tomcatを起動します.
springBootはpomファイルに自分でカプセル化した依存を導入し、controllerで自分の方法を書くだけでmain関数が実行できます.
習慣を約束の配置として、業務の開発に専念し、配置を少なくし、学習の敷居を低くする.
欠点はスプリングに慣れていないと穴が多すぎることです.の自分でゆっくり並びましょう...
Springmvcはもう言わない.次に最も簡単なspringboot demoを始めます
新しいmavenプロジェクトを作成します.
pomに関連jarを導入
4.0.0
demo
springBootDemo
0.0.1-SNAPSHOT
jar
springBootDemo
http://maven.apache.org
UTF-8
org.springframework.boot
spring-boot-starter-parent
1.4.1.RELEASE
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-data-jpa
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
org.springframework.boot
spring-boot-starter-actuator
最も基本的な依存はspring-boot-starter-parentを親として継承し、すべてのspringbootの関連依存をカプセル化します.
以下は対応するweb依存、必写、最も基本的な依存、demoだけを書けばここまで2つの依存で十分です
jdbc依存、およびMybatisの2つの選択は、データベースに接続する方法の1つです.
mybatis依存、ここのmybatisバージョンは1.1.1 1.0.0であり、ページング操作はサポートされていません.PageHelper関連プラグインのページングを自分で実現する必要があります.
Actuator依存、すなわち健康モニタリングは、プロジェクトの開始後/healthでプロジェクトの稼働健康状態を表示できます.
次の基本的な依存は書き終わったらコントロールを書くことができます
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.domain.PageRequest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* Date: 2017 9 15 11:13:03
* @author likaile
* @desc springBoot springBoot
* springboot Mysql
* 1.jdbcTemplate
* 2. curdRepository
*/
@SpringBootApplication // @Configration @ComponentScan @EnableAuthConfigration(SpringBoot )
@RestController //@Controller + @ResponseBody json
public class SampleConfigController {
// application.properties @Value
@Value("${welcome.string}")
private String welcomeString;
// JDBC
@Autowired
private JdbcTemplate jdbcTemplate;
//data-jpa mybatis
@Autowired
private TypeInfoRepository typeInfoRepository;
@RequestMapping("/")
String home(@RequestParam(value="keyWord", required=false) String keyWord) {
if(null != keyWord) {
return keyWord;
}
return welcomeString;
}
/**
* Date:2017 9 15 1:42:30
* @author likaile
* @desc jdbc
*/
@RequestMapping("/jdbcTest")
List
対応する注釈はすべてコードの中にあって、ここで1つの外部変数に関連して、SpringBootの変数とデータベースの配置はすべてアプリケーションです.properties
このファイルはデフォルトのロードファイルで、デフォルトのロードアドレスはルートディレクトリで、一般的にresourceの下で、
コード:
# DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url=jdbc:mysql://localhost:3306/mysql?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
# server
server.port=8080
server.session.timeout=10
server.tomcat.uri-encoding=UTF-8
#global variable
welcome.string=hello,${welcome.name}!
welcome.name=boy
#env
#spring.profiles.active=dev
#logger
logging.level.org.springframework.web=INFO
logging.file=./springboot.log
データベースのアドレスがそれぞれ指定されています
デフォルトでロードされたtomcatのパラメータ
カスタムグローバル変数、変数の直接呼び出し方法
マルチ環境間のプロファイルのアドレス(devなど)は、兄弟ディレクトリの下にアプリケーション-dev.propertiesが存在します.具体的な呼び出しは、起動プロジェクトの導入時にこの値を指定して動的に呼び出します.
loggerはログファイルのいくつかのパラメータを設定します.ここでは、どのログを使用するかをカスタマイズしないと、自動的に持参したlogbackが使用されます.
Jdbcはdaoを必要としないで、mybatisは相応のmapperを必要として、私のここでサボって使う注釈、起動ログの中で1つのwarnを報告して、No MyBatis mapper was found in'[cn.com.gome.SimpleDemo]'package.Please check your configuration. 操作に影響しない
mybaties daoレイヤのコードを貼り付けます
import javax.transaction.Transactional;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Select;
import java.lang.Long;
import java.util.List;
/**
*
* Date: 2017 9 15 2:04:34
* @author likaile
* @desc data-jpa CrudRepository find insert
*
*/
@Transactional
@Repository
public interface TypeInfoRepository extends CrudRepository {
List findById(Long id,Pageable pageable);
List findById(Long id);
@Select("select * from typeInfo where id = #{id}")
TypeInfo getById(Long id);
}
対応するエンティティクラスにも対応する注釈が必要です
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
@Entity
@Table(name = "typeInfo")
public class TypeInfo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Column(name="type")
private String type;
@Column(name="desc1")
private String desc1;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDesc1() {
return desc1;
}
public void setDesc1(String desc1) {
this.desc1 = desc1;
}
}
エンティティクラスのtableNameの中間の大文字と小文字に注意してください.中間の大文字を自動的に小文字にします.そうしたくない場合は、カスタム継承がマッピングクラス実装を上書きする必要があります.
プロジェクトの開始、localhost:8080へのアクセス
ハロー、boy!これはカスタマイズされたグローバル変数です
Demoが完了しました.