Nous avons résumé les modifications 1.2 publiées le 2 janvier 2017.
De plus, il convient de noter
S'il te plait regarde.
Note:
** 2017/4/10: Addendum ** Ajout de changements dans la version 1.2.1.
** 21/08/2017: Addendum ** Ajout de changements dans la version 1.2.2.
Pour utiliser la version 1.2, les versions suivantes sont requises.
Dans la version 1.2, Spring Boot 1.4+, qui est basé sur Spring 4.3, est requis car il utilise ʻObjectProviderajouté à partir de Spring 4.3 pour la configuration automatique. Si vous utilisez des caractères génériques (par exemple
mybatis.mapper-locations = classpath *: ** / mapper / *. Xml`) lors de la lecture du fichier Mapper, Spring Boot 1.4.3+ (Spring 4.3. Si vous n'utilisez pas 5+), vous pouvez rencontrer un problème de lecture des fichiers Mapper en double (gh-108). ..
Note: Lors de l'utilisation sur Spring 4.2 (Spring Boot 1.3), veuillez utiliser la version 1.1.1.
Dans la version 1.2, les versions de bibliothèque suivantes ont été mises à jour.
Nom de la bibliothèque | 1.1.1 version | 1.2.Version de 0 | 1.2.1 version | 1.2.2 versions |
---|---|---|---|---|
MyBatis | 3.4.0 | 3.4.2 | 3.4.4 | 3.4.5 |
MyBatis Spring | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 |
Spring Boot | 1.3.3.RELEASE | 1.4.3.RELEASE | 1.4.5.RELEASE | 1.4.7.RELEASE |
Dans la version 1.2, la structure de dépendance de «mybatis-spring-boot-starter» et «mybatis-spring-boot-autoconfigure» a été revue. C'est en réponse à un commentaire de Stéphane Nicoll, l'un des principaux committers de Spring Boot.
Plus précisément ... Dans la version 1.1,
[INFO] +- org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.1.1:compile
[INFO] | \- org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.1.1:compile
[INFO] | +- org.mybatis:mybatis:jar:3.4.0:compile
[INFO] | +- org.mybatis:mybatis-spring:jar:1.3.0:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:1.4.3.RELEASE:compile
[INFO] | | \- org.springframework:spring-context:jar:4.3.5.RELEASE:compile
[INFO] | | +- org.springframework:spring-aop:jar:4.3.5.RELEASE:compile
[INFO] | | +- org.springframework:spring-beans:jar:4.3.5.RELEASE:compile
[INFO] | | \- org.springframework:spring-expression:jar:4.3.5.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.3.RELEASE:compile
[INFO] | \- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.4.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.4.3.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.1.8:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.1.8:compile
[INFO] | | | +- org.slf4j:jcl-over-slf4j:jar:1.7.22:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.22:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.22:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.6:compile
[INFO] | | \- org.apache.tomcat:tomcat-juli:jar:8.5.6:compile
[INFO] | \- org.springframework:spring-jdbc:jar:4.3.5.RELEASE:compile
[INFO] | \- org.springframework:spring-tx:jar:4.3.5.RELEASE:compile
Cependant, dans la version 1.2,
[INFO] +- org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.2.0:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.4.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.4.3.RELEASE:compile
[INFO] | | | \- org.springframework:spring-context:jar:4.3.5.RELEASE:compile
[INFO] | | | +- org.springframework:spring-aop:jar:4.3.5.RELEASE:compile
[INFO] | | | \- org.springframework:spring-expression:jar:4.3.5.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.4.3.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.1.8:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.1.8:compile
[INFO] | | | +- org.slf4j:jcl-over-slf4j:jar:1.7.22:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.22:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.22:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.3.RELEASE:compile
[INFO] | | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.6:compile
[INFO] | | | \- org.apache.tomcat:tomcat-juli:jar:8.5.6:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.5.RELEASE:compile
[INFO] | | +- org.springframework:spring-beans:jar:4.3.5.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:4.3.5.RELEASE:compile
[INFO] | +- org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.2.0:compile
[INFO] | +- org.mybatis:mybatis:jar:3.4.2:compile
[INFO] | \- org.mybatis:mybatis-spring:jar:1.3.1:compile
Il est devenu.
Ce qui a changé, c'est ... Dans la version 1.1, mybatis-spring-boot-starter
ne dépend que de mybatis-spring-boot-autoconfigure
, et mybatis-spring-boot-autoconfigure
est MyBatis, Il avait une dépendance sur MyBatis-Spring et Spring Boot. À première vue, il semble qu'il n'y ait pas de problème, mais en effet mybatis-spring-boot-autoconfigure
joue également le rôle de Starter, et cette partie est différente de l'idée de Starter et AutoConfigure fournie par Spring Boot !! C'était ça.
C'est ... Si vous ajoutez uniquement l'artefact AutoConfigure **, vous devez empêcher l'application Spring Boot d'avoir des effets secondaires (rendre la configuration automatique inefficace) et activer la configuration automatique. Starter est le rôle de résoudre les bibliothèques dépendantes nécessaires pour le faire en un seul coup! !! Ça ressemble à ça.
Warning: Si vous spécifiez
mybatis-spring-boot-starter
comme artefact dépendant, vous ne serez pas affecté par ce changement, mais si vous spécifiezmybatis-spring-boot-autoconfigure
, Veuillez modifier pour spécifiermybatis-spring-boot-starter
lorsque vous utilisez la version 1.2.
mybatis.configuration-properties
Depuis la version 1.2, une nouvelle propriété (mybatis.configuration-properties
) a été ajoutée pour spécifier la valeur à remplacer par l'espace réservé ($ {key name}
). Les espaces réservés peuvent être utilisés dans les fichiers de configuration MyBatis, les fichiers XML Mapper, les variables de substitution définies par SQL et certaines valeurs d'annotation.
Le format qui peut être spécifié dans la propriété est
mybatis.configuration-properties.Nom de la clé=Valeur clé
Et ... par exemple
src/main/resources/application.properties
mybatis.configuration-properties.db.schema=prod
En le définissant comme, vous pouvez vous y référer comme $ {db.schema}
.
C'est ... Exprimé dans le fichier de paramètres MyBatis
mybatis-config.xml
<properties>
<property name="db.schema" value="prod" />
</properties>
Exprimé en utilisant ʻorg.mybatis.spring.SqlSessionFactoryBean` fourni par MyBatis Spring,
@Bean
SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
Properties props = new Properties();
props.setProperty("db.schema", "prod");
factoryBean.setConfigurationProperties(props);
return factoryBean;
}
or
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configurationProperties">
<props>
<prop key="db.schema">prod</prop>
</props>
</property>
</bean>
Sera.
Note: En fait ... Dans la version 1.1.1, la même chose peut être réalisée en définissant comme suit. Cette méthode peut également être utilisée dans la version 1.2, et s'il y a le même nom de clé, la valeur spécifiée dans
mybatis.configuration-properties
ajoutée dans la version 1.2 est prioritaire.mybatis.configuration.variables.db.schema=prod
Par exemple ... Définissez des valeurs indépendantes de l'environnement (ou des valeurs par défaut) dans
mybatis.configuration.variables
et utilisezmybatis.configuration-properties
dans le fichier de propriétés pour chaque profil (pour chaque environnement). Vous pouvez également l'utiliser pour remplacer les valeurs dépendant de l'environnement.
mybatis.configuration
et IDEÀ partir de la version 1.1, la propriété (mybatis.configuration. *
) Pour configurer ʻorg.apache.ibatis.session.Configuration` est prise en charge, mais la clé de propriété est complétée sur les IDE tels que STS et IntelliJ IDEA. Ce n'était pas ciblé. Ce bogue sera corrigé dans la version 1.2.
Note: Cependant ... cette fois, il y a un autre problème (gh-127) que la clé de propriété est dupliquée ... Cela semble être un bogue dans le
maven-bundle-plugin
utilisé au moment de la construction et sera résolu dans la version 1.2.1.** 2017/4/10: Addendum ** Le problème des clés de propriété en double a été résolu dans la version 1.2.1! !!
ConfigurationCustomizer
[Modifications de la version 1.3](http://qiita.com/kazuki43zoo/items/3f94d2049d331f81e6f5#configurationcustomizer%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3% 82% A7% E3% 83% BC% E3% 82% B9% E3% 81% AE% E8% BF% BD% E5% 8A% A0).
@ MybatisTest
(mybatis-spring-boot-starter-test)Modifications de la version 1.3 Prière de se référer à.
Recommended Posts