Тип raw - это отсутствие параметра типа при использовании родового типа.
Необработанный тип не должен использоваться, потому что это может привести к ошибкам во время выполнения, например, вставить double
в то, что должно было быть Set
из int
s.
Set set = new HashSet();
set.add(3.45); //ok
При извлечении материала из Set
вы надеваете Не знаю, что выйдет. Предположим, что вы ожидаете, что это все int
s, вы отбрасываете его на Integer
; исключение во время выполнения, когда приходит double
3.45.
С параметром типа , добавленным к вашему Set
, вы сразу же получите ошибку компиляции. Эта превентивная ошибка позволяет устранить проблему, прежде чем что-то взорвется во время работы (таким образом, сэкономив время и усилия).
Set<Integer> set = new HashSet<Integer>();
set.add(3.45); //NOT ok.
Spring не будет поддерживать дальнейшие релизы как пакеты OSGi. Официальная поддержка была остановлена весной 3.2.4 (хотя вы можете найти здесь 3.2.5 артефактов здесь , что противоречит утверждению, сделанному в Eclipse Forum )
Глин Нормингтон из источника Spring признал, что в нескольких местах см. здесь:
Однако есть надежда. В списке Karaf-dev можно прочитать, что они намерены поддерживать весенние библиотеки в проекте ServiceMix. Подробности во всей теме см. Здесь здесь .
Источник пружины прекратил создавать банки с шейдерами OSGI в прошлом году: http://www.infoq.com/news/2012/10/spring-osgi-gradle/
Я не думаю, что вы получите официальное рефери maven, содержащее пакеты OSGI для весны. Мы часто используем http://ebr.springsource.com/ для пакетов OSGI, но даже это не содержит никакой версии после 3.2
Не удалось добавить в качестве комментария из-за низкого репо , поэтому добавление в качестве ответа.
Я обнаружил, что ServiceMix предоставил пакеты OSGi-fy Spring до версии. 4.1.4, http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.spring-aop/
Я попробовал это в моем проекте osgi Bundle, чтобы установить такую зависимость:
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-core</artifactId>
<version>4.1.1.RELEASE_3</version>
</dependency>
Запуск в Felix. Найдены найденные спринтерские пучки:
START LEVEL 1
ID|State |Level|Name
...
5|Resolved | 1|Apache ServiceMix :: Bundles :: spring-expression (4.1.1.RELEASE_3)
6|Active | 1|Apache Felix Gogo Command (0.14.0)
7|Active | 1|Apache Felix Gogo Runtime (0.12.1)
8|Active | 1|Apache Felix Gogo Shell (0.10.0)
...
10|Active | 1|Apache ServiceMix :: Bundles :: spring-context (4.1.1.RELEASE_3)
11|Active | 1|Apache ServiceMix :: Bundles :: spring-core (4.1.1.RELEASE_3)
....
Но в последнем выпуске 5.4.0, ServiceMix включает только Spring 3.2.11.
Есть ли риск, когда весна 4.1.1 используется в моей OSGi-среде?
его немного сложно найти, вот ссылка для пакета OSGi
http://docs.spring.io/downloads/nightly/release-download.php?project = OSGI
и для всех весенних проектов
http://docs.spring.io/downloads/nightly/release-download.php