@@ -65,6 +65,8 @@ public class SpringCodegen extends AbstractJavaCodegen implements BeanValidation
65
65
public static final String TARGET_OPENFEIGN = "generateForOpenFeign" ;
66
66
public static final String DEFAULT_INTERFACES = "defaultInterfaces" ;
67
67
public static final String SPRING_BOOT_VERSION = "springBootVersion" ;
68
+ public static final String SPRING_BOOT3_VERSION = "springBoot3Version" ;
69
+ public static final String SPRING_BOOT3_JAVA_VERSION = "springBoot3JavaVersion" ;
68
70
public static final String SPRING_BOOT_VERSION_2 = "springBootV2" ;
69
71
public static final String DATE_PATTERN = "datePattern" ;
70
72
public static final String DATE_TIME_PATTERN = "dateTimePattern" ;
@@ -95,6 +97,8 @@ public class SpringCodegen extends AbstractJavaCodegen implements BeanValidation
95
97
protected boolean openFeign = false ;
96
98
protected boolean defaultInterfaces = true ;
97
99
protected String springBootVersion = "2.1.16.RELEASE" ;
100
+ protected String springBoot3Version = "3.4.2" ;
101
+ protected String springBoot3JavaVersion = "21" ;
98
102
protected boolean throwsException = false ;
99
103
private boolean notNullJacksonAnnotation = false ;
100
104
protected String validationMode = "strict" ;
@@ -152,6 +156,20 @@ public SpringCodegen() {
152
156
springBootVersionOption .setEnum (springBootEnum );
153
157
cliOptions .add (springBootVersionOption );
154
158
159
+ CliOption springBoot3VersionOption = new CliOption (SPRING_BOOT3_VERSION , "Spring boot 3 version" );
160
+ Map <String , String > springBoot3Enum = new HashMap <>();
161
+ springBoot3Enum .put ("3.3.4" , "3.3.4" );
162
+ springBoot3Enum .put ("3.4.2" , "3.4.2" );
163
+ springBoot3VersionOption .setEnum (springBoot3Enum );
164
+ cliOptions .add (springBoot3VersionOption );
165
+
166
+ CliOption springBoot3JavaVersionOption = new CliOption (SPRING_BOOT3_JAVA_VERSION , "Spring boot 3 Java version" );
167
+ Map <String , String > springBoot3JavaEnum = new HashMap <>();
168
+ springBoot3JavaEnum .put ("17" , "17" );
169
+ springBoot3JavaEnum .put ("21" , "21" );
170
+ springBoot3JavaVersionOption .setEnum (springBoot3JavaEnum );
171
+ cliOptions .add (springBoot3JavaVersionOption );
172
+
155
173
CliOption validationMode = new CliOption (VALIDATION_MODE_OPTION , "Validation mode to apply" );
156
174
validationMode .setDefault (VALIDATION_MODE_STRICT );
157
175
Map <String , String > validationModeOptions = new HashMap <String , String >();
@@ -318,6 +336,16 @@ public void processOpts() {
318
336
this .setOpenFeign (true );
319
337
}
320
338
339
+ if (additionalProperties .containsKey (SPRING_BOOT3_VERSION )) {
340
+ this .springBoot3Version = additionalProperties .get (SPRING_BOOT3_VERSION ).toString ();
341
+ }
342
+ additionalProperties .put (SPRING_BOOT3_VERSION , this .springBoot3Version );
343
+
344
+ if (additionalProperties .containsKey (SPRING_BOOT3_JAVA_VERSION )) {
345
+ this .springBoot3JavaVersion = additionalProperties .get (SPRING_BOOT3_JAVA_VERSION ).toString ();
346
+ }
347
+ additionalProperties .put (SPRING_BOOT3_JAVA_VERSION , this .springBoot3JavaVersion );
348
+
321
349
if (useBeanValidation ) {
322
350
writePropertyBack (USE_BEANVALIDATION , useBeanValidation );
323
351
if (VALIDATION_MODE_LOOSE .equals (validationMode ) || VALIDATION_MODE_STRICT .equals (validationMode )) {
0 commit comments