Стандарты и возможности:
solon.xxx
заменить на solon-xxx
, старое имя всё ещё можно использовать).@Component
, добавить поддержку автоматического проксирования //ok.Упрощение:
@Dao
, @Service
, @Repository
, @ProxyComponent
(унифицировать с @Component
) //ok (упрощение).Удалить: | Тип | Удаляемая конфигурация | Замена конфигурации | |----|-------------------------|---------------------| | Параметры запуска | solon:: - config | config.add | | Свойства приложения | solon:: - solon.config | solon.config.add |
Заменить: | Тип | Заменяемая конфигурация | Замена конфигурации | |----|--------------------------|--------------------| | Свойства приложения | solon-boot:: - server.session.state.domain | server.session.cookieDomain | | | - server.session.state.domain.auto | server.session.cookieDomainAuto | | | solon-web-staticfiles:: - solon.staticfiles.maxAge | solon.staticfiles.cacheMaxAge |
Плагин | Удаляемое событие | Замена события |
---|---|---|
solon | @Bean bean? | getBeanAsync(..class, ..) / @Inject ..
|
@Component bean? | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-fastjson | FastjsonActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
FastjsonRenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-fastjson2 | Fastjson2ActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
Fastjson2RenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-fury | FuryActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
solon-serialization-gson | GsonActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
GsonRenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-hessian | HessianActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
solon-serialization-jackson | JacksonActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
JacksonRenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-jackson-xml | JacksonXmlActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
JacksonXmlRenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-properties | PropertiesActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
PropertiesRenderFactory | getBeanAsync(..class, ..) / @Inject ..
|
|
solon-serialization-protostuff | ProtostuffActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
solon-serialization-snack3 | SnackActionExecutor | getBeanAsync(..class, ..) / @Inject ..
|
solon-view-beetl | GroupTemplate | getBeanAsync(BeetlRender.class, ..) / @Inject ..
|
solon-view-enjoy | Engine | getBeanAsync(EnjoyRender.class, ..) / @Inject ..
|
solon-view-freemarker | Configuration | getBeanAsync(FreemarkerRender.class, ..) / @Inject ..
|
solon-view-thymeleaf | TemplateEngine | getBeanAsync(ThymeleafRender.class, ..) / @Inject ..
|
solon-view-velocity | RuntimeInstance | getBeanAsync(VelocityRender.class, ..) / @Inject ..
|
Пример расширения схемы событий:
@Configuration
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
//1. Первый раз вручную получаем (выполняется перед другими инъекциями)
app.context().getBeanAsync(Xxx.class, e -> {});
});
}
//2. Автоматически внедряется при сканировании
@Bean
public void cfg(Xxx xxx) {}
}
Когда лучше использовать расширение событий (по возможности избегать):
5. Удаление устаревших типов и замена их новыми (компиляция будет выдавать предупреждения)
Плагин | Удаляемый тип | Заменяющий тип |
---|---|---|
nami | @Body | @NamiBody |
NamiBodyAnno | ||
@Mapping | @NamiMapping | |
NamiMappingAnno | ||
solon | @PathVar | @Path |
@PropertySource | @Import | |
@ProxyComponent | @Component | |
@Before(Handler) | @Addition(Filter) | |
@After(Handler) | @Addition(Filter) | |
Endpoint | / | |
SolonBuilder | / | |
ValHolder | / | |
InitializingBean | @Init | |
NdMap | IgnoreCaseMap | |
solon-data | Serializer | core::Serializer |
solon-data-dynamicds | DynamicDsHolder | DynamicDsKey |
solon-logging | LogUtilToSlf4j | / |
solon-logging-log4j | SolonCloudAppender | / |
solon-logging-logback | SolonCloudAppender | / |
solon-serialization | JsonConverter | core::Converter |
StringSerializer | core::Serializer | |
solon-test | @TestPropertySource | @Import |
@TestRollback | @Rollback | |
AbstractHttpTester | HttpTester | |
--------------------- | ---------------- | |
Нами | ||
- Константы | CONTENT_TYPE_* |
|
Соло | ||
- ActionParamResolver | resolvePathVar() | |
- ActionDefault | before(.) | |
после(.) | / только filter система | |
- AppContext | beanOnloaded(.) | |
lifecycle(.) | / | |
- BeanContainer | getAttrs() | |
attachment*(.) |
beanAround*(.) , beanInterceptor*(.)
|
|
- ClassUtil | newInstance(.) | |
tryInstance(.) | ||
- ClassWrap | getFieldAllWraps() | |
getFieldWraps() | ||
- ConditionUtil | ifMissing(.) | |
ifMissingBean(.) | ||
- Context | ip() | |
param(key,def) | paramOrDefault(key,def) | |
paramSet(.) | paramMap().add(.) | |
paramsMap() | paramMap().toValuesMap() | |
paramsAdd(.) | paramMap().add(.) | |
files(.) | fileValues(.) | |
filesMap() | fileMap().toValuesMap() | |
cookie(key,def) | cookieOrDefault(key,def) | |
header(key,def) | headerOrDefault(key,def) | |
headersMap() | headerMap().toValuesMap() | |
session(key,def) | sessionOrDefault(key,def) | |
statusSet(.) | статус(.) | |
attr(key,def) | attrOrDefault(key,def) | |
attrClear() | attrsClear() | |
- DateAnalyzer | getGlobal() | global() |
- EventBus | pushAsync() | publishAsync() |
pushTry() | publishTry() | |
push() | ||
- Gateway | before(.) | |
after(.) | ||
- LifecycleBean | prestop() | |
- LogUtil | debugAsync() | |
infoAsync() | ||
- MethodHolder | getArounds() | |
- MethodWrap | getArounds() | |
- MvcFactory | resolveParam(.) | |
- NvMap | (map) | |
getBean(.) | ||
- Props | getByParse(.) | |
getXmap(.) | ||
getBean(.) | ||
- ResourceUtil | remClasspath(.) | |
- Router | matchOne(.) | |
- RunUtil | setExecutor(.) | |
- SolonApp | before(.) | |
after(.) | ||
- SolonProps | source() | |
sourceLocation() | ||
- Utils | TAG_classpath | |
resolvePaths(.) | ||
hasClass(.) | ||
loadClass(.) | ||
newInstance(.) | ||
getResource*(.) |
||
transferTo*(.) |
||
buildExt(.) | ||
solon-boot:: | ||
- HttpServerConfigure | allowSsl(.) | |
solon-data:: | ||
- CacheService | get(key) | |
solon-scheduling:: | ||
- IJobManager | setJobInterceptor(.) | |
solon-serialization-properties:: | ||
- PropertiesActionExecutor | includeFormUrlencoded(.) |
Мы упростили набор быстрых комбинаций пакетов (слишком много, легко запутаться), оставив только два основных:
Удалённые плагины | Заменённые плагины | Примечания |
---|---|---|
:: cloud | ||
solon.cloud.httputils | solon-net-httputils | |
:: detector | ||
detector-solon-plugin | solon-health-detector | |
:: logging | ||
log4j2-solon-plugin | solon-logging-log4j2 | |
logback-solon-plugin | solon-logging-logback | |
:: scheduling | ||
solon.extend.schedule | / | |
:: testing | ||
solon.test | solon-test | |
:: web | ||
solon.web.flux | solon-web-rx | |
:: shortcuts | ||
solon-api | solon-web | |
solon-job | / | Используйте solon-lib + |
solon-rpc | / | Используйте solon-web + |
solon-beetl-web | / | Используйте solon-web + |
solon-enjob-web | / | Используйте solon-web + |
solon-web-beetl | / | Используйте solon-web + |
solon-web-enjoy | / | Используйте solon-web + |
solon-cloud-alibaba | / | Используйте solon-web + solon-cloud + |
solon-cloud-water | / | Используйте solon-web + solon-cloud + |
Удалённый набор быстрых пакетов можно комбинировать следующим образом:
Новые изменения выполняются в соответствии со следующими правилами именования плагинов:
Правила именования плагинов | Описание |
---|---|
solon-* (изменено с solon.*) |
Плагины внутренней архитектуры |
*-solon-plugin (без изменений) |
Внешние адаптивные плагины |
*-solon-cloud-plugin (без изменений) |
Облачные внешние адаптивные плагины |
Соответствующие «устаревшие» имена всё ещё можно использовать. Ожидается, что они будут поддерживаться в течение года или около того. Конкретные изменения следующие:
Новое имя | Устаревшее имя | Примечание |
---|---|---|
:: nami | ||
nami-channel-http-hutool | nami.channel.http.hutool | |
--- | --- | ------------------------------ |
nami-channel-http-okhttp | nami.channel.http.okhttp | |
nami-channel-socketd | nами. канал. сокетд | |
nami-coder-fastjson | nами. кодер. фастджсон | |
nami-coder-fastjson2 | nами. кодер. фастджсон2 | |
nami-coder-fury | nами. кодер. фьюри | |
nami-coder-hessian | nами. кодер. гессиан | |
nami-coder-jackson | nами. кодер. джексон | |
nami-coder-protostuff | nами. кодер. протостаф | |
nami-coder-snack3 | nами. кодер. снэк3 | |
:: base | ||
solon-config-banner | солонь. баннер | |
solon-config-yaml | солонь. конфиг. ямл | |
solon-config-plus | из исходного солонь. конфиг. ямл выделено | |
solon-hotplug | солонь. хотплаг | |
solon-i18n | солонь. ай восемнадцать н | |
solon-mvc | солонь. эм ви си | |
solon-proxy | солонь. прокси | |
solon-rx | новое | |
:: boot | ||
solon-boot-jdkhttp | солонь. бут. джкхтп | |
solon-boot-jetty-add-jsp | солонь. бут. джетти. адд. джи эс пи | |
solon-boot-jetty-add-websocket | солонь. бут. джетти. адд. вэбсокет | |
solon-boot-jetty | солонь. бут. джетти | |
solon-boot-jlhttp | солонь. бут. джи эл хттп | |
solon-boot-smarthttp | солонь. бут. смарт хттп | |
solon-boot-socketd | солонь. бут. сокет ди | |
solon-boot-undertow-add-jsp | солонь. бут. андер тау. адд. джи эс пи | |
solon-boot-undertow | солонь. бут. андер тау | |
solon-boot-vertx | солонь. бут. вертекс | |
solon-boot-websocket-netty | солонь. бут. вэб сокет нетти | |
solon-boot-websocket | солонь. бут. вэб сокет | |
solon-boot | солонь. бут | |
:: cloud | ||
solon-cloud-eventplus | солонь. клауд. ивент плюс | |
solon-cloud-gateway | солонь. клауд. гейтвей | |
solon-cloud-metrics | солонь. клауд. метрикс | |
solon-cloud-tracing | солонь. клауд. трейсинг | |
solon-cloud | солонь. клауд | |
:: data | ||
solon-cache-caffeine | солонь. кэш. кофеин | |
solon-cache-jedis | солонь. кэш. джедаи | |
солонка-кэш-редиссон | солонка. кэш. редиссон | |
солонка-кэш-спаймемкачд | солонка. кэш. спаймемкачд | |
солонка-дата-динамикс дс | солонка. дата. динамикс дс | |
солонка-дата-шардинг дс | солонка. дата. шардинг дс | |
солонка-дата | солонка. дата | |
:: детектор | ||
солонка-хеалтх-детектор | солонка. хеалтх. детектор | |
солонка-хеалтх | солонка. хеалтх | |
:: докс | ||
солонка-докс-опенвэй 2 | солонка. докс. опенвэй 2 | |
солонка-докс-опенвэй 3 | ||
солонка-докс | солонка. докс | |
:: фэйсэс | ||
солонка-фэйсэс-луффи | солонка. луффи | |
:: логинг | ||
солонка-логинг-лог фордж 2 | солонка. логинг. лог фордж 2 | |
солонка-логинг-лобэк | солонка. логинг. лобэк | |
солонка-логинг-симпл | солонка. логинг. симпл | |
солонка-логинг | солонка. логинг | |
:: натив | ||
солонка-аот | солонка. аот | |
:: нет | ||
солонка-нет-хттп ютилс | солонка. нет. хттп ютилс | |
солонка-нет-стомп | ||
солонка-нет | солонка. нет | |
:: счедулинг | ||
солонка-счедулинг-кварц | солонка. счедулинг. кварц | |
солонка-счедулинг-симпл | солонка. счедулинг. симпл | |
солонка-счедулинг | солонка. счедулинг | |
:: секьюрити | ||
солонка. авт | 弃用 | |
солонка. валидация | 弃用 | |
солонка. валт | 弃用 | |
солонка-секьюрити-авт | солонка. секьюрити. авт | |
солонка-секьюрити-валидация | солонка. секьюрити. валидация | |
солонка-секьюрити-вальт | солонка. секьюрити. вальт | |
:: сериализатион | ||
солонка-сериализатион | солонка. сериализатион | |
солонка-сериализатион-фаст джсон | солонка. сериализатион. фаст джсон | |
солонка-сериализатион-фаст джсон 2 | солонка. сериализатион. фаст джсон 2 | |
солонь-сериализация-гсон | солонь.сериализация.гсон | |
солонь-сериализация-хессиан | солонь.сериализация.хессиан | |
солонь-сериализация-джексон | солонь.сериализация.джексон | |
солонь-сериализация-джексон-иксэм | солонь.сериализация.джексон.иксэм | |
:: вью | ||
солонь-вью | солонь.вью | |
солонь-вью-битл | солонь.вью.битл | |
солонь-вью-энжой | солонь.вью.энжой | |
солонь-вью-фримаркэр | солонь.вью.фримаркэр | |
солонь-вью-джсп | солонь.вью.джсп | |
солонь-вью-джакарта | ||
солонь-вью-таймлиф | солонь.вью.таймлиф | |
солонь-вью-вэлосити | солонь.вью.вэлосити | |
:: веб | ||
солонь-сэшнстэйт-джедис | солонь.сэшнстэйт.джедис | |
солонь-сэшнстэйт-джей ти ви | солонь.сэшнстэйт.джей ти ви | |
солонь-сэшнстэйт-локал | солонь.сэшнстэйт.локал | |
солонь-сэшнстэйт-рэдиссон | солонь.сэшнстэйт.рэдиссон | |
солонь-вэб-корс | солонь.вэб.корс | |
солонь-вэб-эр икс | солонь.вэб.эр икс | |
солонь-вэб-эс ди эл | солонь.вэб.эс ди эл | |
солонь-вэб-сервлет | солонь.вэб.сервлет | |
солонь-вэб-сервлет-джакарта | солонь.вэб.сервлет.джакарта | |
солонь-вэб-эс эс | солонь.вэб.эс эс | |
солонь-вэб-статик файлз | солонь.вэб.статик файлз | |
солонь-вэб-стоп | солонь.вэб.стоп | |
солонь-вэб-ведэй | ||
солонь-вэб-веб дэйв | солонь.вэб.ведэй |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )