Инъекция — Википедия. Что такое Инъекция
Некоторые виды инъекций
Инъе́кция — способ введения в организм неких растворов (например, лекарственных средств) с помощью шприца и пустотелой иглы или впрыскиванием под высоким давлением (безыгольная инъекция).
Виды инъекций
Введение препарата при помощи безыгольного инъектора
Схема действия безыгольного инъектора. Под действием пружины поршень под большим давлением через сопло выпрыскивает тонкую струю проникающую через кожные покровы. Дозировка и глубина регулируются
К основным видам инъекций относят следующие:
- внутрикожная (intracutaneous)
- подкожная (subcutaneous)
- внутримышечная (intramuscular)
- внутривенная (intravenous)
- внутриартериальная
- внутрикостная
- парабульбарная (раствор вводится в область под глазным яблоком)
Внутримышечные инъекции
Внутримышечная инъекция — один из наиболее распространённых способов введения небольших объёмов лекарственных веществ. Мышцы обладают разветвлённой сетью кровеносных и лимфатических сосудов, что создаёт хорошие условия для всасывания лекарств. При внутримышечной инъекции создаётся депо, из которого препарат постепенно всасывается в кровеносное русло, что позволяет поддерживать примерно одинаковую концентрацию действующего вещества в крови в течение нескольких часов и тем самым обеспечить его длительное действие.
Для предотвращения осложнений, внутримышечные инъекции рекомендуется производить в местах тела, где имеется значительный слой мышечной ткани, и близко не располагаются крупные сосуды и нервные стволы. Длина применяемой иглы зависит от толщины слоя подкожно-жировой клетчатки, так как необходимо, чтобы при введении игла прошла подкожную клетчатку и срез её располагался непосредственно в мышце. Инъекции производят обычно в ягодичные мышцы, реже — в мышцы передней поверхности бедра или дельтовидную мышцу.
Возможные осложнения внутримышечных инъекций
При внутримышечных инъекциях возможны следующие осложнения:
- Попадание иглы в кровеносный сосуд, что может привести к эмболии, если вводятся масляные растворы или взвеси, которые не должны попадать в непосредственно в кровоток. При применении подобных препаратов после введения иглы в мышцу оттягивают поршень назад и убеждаются в отсутствии крови в шприце.
- Инфильтраты — болезненные уплотнения в толще мышечной ткани на месте укола. Могут возникнуть на второй-третий день после инъекции. Причинами их возникновения может быть как несоблюдение правил асептики (нестерильный шприц, плохо обработанное место укола), так и многократное введение препаратов в одно и то же место, или повышенная чувствительность тканей человека к вводимому препарату (характерно для масляных растворов и некоторых антибиотиков).
- Абсцесс — проявляется гиперемией, флюктуацией и болезненностью кожи над инфильтратом, повышенной температурой тела. Требует срочной хирургической обработки и лечения антибиотиками.
- Аллергические реакции на введённый препарат. Для избежания данных осложнений перед введением препарата собирается анамнез, выясняется наличие аллергических реакций на какие-либо вещества. При любом проявлении аллергической реакции (независимо от способа предыдущего введения) целесообразна отмена препарата, поскольку повторное введение данного лекарственного средства может привести к анафилактическому шоку.
Подкожные инъекции
Применяется, например, при введении инсулина.
Подкожно-жировой слой обладает густой сосудистой сетью, поэтому введённые подкожно лекарственные вещества оказывают действие быстрее по сравнению с введением через рот — они минуют желудочно-кишечный тракт, попадая непосредственно в кровоток. Подкожные инъекции производят иглой самого малого диаметра и вводят до 2 мл лекарственных препаратов, которые быстро всасываются в рыхлой подкожной клетчатке, не оказывая на неё вредного воздействия.
Наиболее удобными участками для подкожного введения являются:
- наружная поверхность плеча;
- подлопаточное пространство;
- передненаружная поверхность бедра;
- боковая поверхность брюшной стенки;
- нижняя часть подмышечной области.
В этих местах кожа легко захватывается в складку и минимальна опасность повреждения кровеносных сосудов, нервов и надкостницы.
Не рекомендуется производить инъекции:
- в места с отёчной подкожно-жировой клетчаткой;
- в уплотнения от плохо рассосавшихся предыдущих инъекций.
Кожа над местом введения собирается в складку, игла под углом 45° вводится в кожу, затем плавно в подкожно-жировую клетчатку вводится раствор лекарственного препарата.
Внутрикожная инъекция
Внутрикожная инъекция туберкулина при постановке реакции Манту (образование «лимонной корочки»)
Внутривенные инъекции
Игла «бабочка» (для инфузий)
Внутривенные инъекции предусматривают введение лекарственного вещества непосредственно в кровяное русло. Наиболее важным правилом при этом является строжайшее соблюдение правил асептики (мытьё и обработка рук, кожи больного и т. п.).
Особенности строения вен
Для внутривенных инъекций чаще всего используют вены локтевой ямки, поскольку они имеют большой диаметр, лежат поверхностно и сравнительно мало смещаются, а также поверхностные вены кисти, предплечья, реже вены нижних конечностей. Теоретически, внутривенная инъекция может быть произведена в любую из вен человеческого организма. Также аналогом внутривенной инъекции является введение препарата через диафрагму рта в корень языка. Это связано с особенностями анатомического строения языка человека.
Подкожные вены верхней конечности — лучевая и локтевая подкожные вены. Обе эти вены, соединяясь по всей поверхности верхней конечности, образуют множество соединений, самое крупное из которых — средняя вена локтя, наиболее часто используемая для пункций. В зависимости от того, насколько чётко вена просматривается под кожей и пальпируется (прощупывается), выделяют три типа вен:
- Хорошо контурированная вена. Вена хорошо просматривается, чётко выступает над кожей, объёмна. Хорошо видны боковые и передняя стенки. При пальпации прощупывается почти вся окружность вены, за исключением внутренней стенки.
- Слабо контурированная вена. Очень хорошо просматривается и пальпируется только передняя стенка сосуда, вена не выступает над кожей.
- Не контурированная вена. Вена не просматривается, и очень плохо пальпируется, или вена вообще не просматривается и не пальпируется.
По степени фиксации вены в подкожной клетчатке выделяют следующие варианты:
- Фиксированная вена — вена смещается по плоскости незначительно, переместить её на расстояние ширины сосуда практически невозможно.
- Скользящая вена — вена легко смещается в подкожной клетчатке по плоскости, её можно сместить на расстояние больше её диаметра. При этом нижняя стенка такой вены, как правило, не фиксируется.
По выраженности стенки можно выделить следующие типы:
- Толстостенная вена — вена толстая, плотная.
- Тонкостенная вена — вена с тонкой, легко ранимой стенкой.
Используя все перечисленные анатомические параметры, определяют следующие клинические варианты:
- хорошо контурированная фиксированная толстостенная вена — такая вена встречается в 35 % случаев;
- Хорошо контурированная скользящая толстостенная вена — встречается в 14 % случаев;
- слабо контурированная, фиксированная толстостенная вена — встречается в 21 % случаев;
- Слабо контурированная скользящая вена — встречается в 12 % случаев;
- Неконтурированная фиксированная вена — встречается в 18 % случаев.
Наиболее пригодны для пункции вены первых двух клинических вариантов. Хорошие контуры, толстая стенка позволяют довольно легко пунктировать вену.
Менее удобны вены третьего и четвёртого вариантов, для пункции которых наиболее подходит тонкая игла. Следует только помнить, что при пункции «скользящей» вены её необходимо фиксировать пальцем свободной руки.
Наиболее неблагоприятны для пункции вены пятого варианта. При работе с такой веной применяют предварительную пальпацию (прощупывание), пункция «вслепую» не рекомендуется.
Осложнения при внутривенных инъекциях
Одной из наиболее часто встречающихся анатомических особенностей вен является так называемая ломкость. Визуально и пальпаторно ломкие вены ничем не отличаются от обычных. Пункция их, как правило, также не вызывает затруднения, но в месте прокола очень быстро появляется гематома, которая нарастает, несмотря на то, что все приёмы контроля подтверждают правильное попадание иглы в вену. Считается, что, вероятно, происходит следующее: игла является ранящим агентом, и в одних случаях прокол стенки вены соответствует диаметру иглы, а в других из-за анатомических особенностей происходит разрыв по ходу вены.
Нарушения техники фиксации иглы в вене также могут привести к осложнениям. Слабо фиксированная игла наносит дополнительную травму сосуду. Данное осложнение встречается, почти исключительно, у лиц пожилого возраста. При данной патологии введение лекарственного средства в эту вену прекращают, пунктируют другую вену и проводят инфузию, обращая внимание на фиксацию иглы в сосуде. На область гематомы накладывают тугую повязку.
Довольно частым осложнением бывает поступление инфузионного раствора в подкожную клетчатку. Наиболее часто после пункции вены в локтевом сгибе недостаточно устойчиво фиксируется игла, при движении больного рукой игла выходит из вены и раствор поступает под кожу. Иглу в локтевом сгибе рекомендуется фиксировать не менее чем в двух точках, а у беспокойных больных фиксировать вену на протяжении конечности, исключая область суставов.
Другая причина поступления жидкости под кожу — сквозной прокол вены, это чаще бывает при применении одноразовых игл, более острых, чем многоразовые, в этом случае раствор поступает частично в вену, а частично под кожу.
В случае нарушения центрального и периферического кровообращения вены спадаются. Пункция подобной вены крайне сложна. В этом случае больного просят более энергично сжимать и разжимать пальцы и параллельно похлопывают по коже, просматривая вену в области пункции. Как правило, этот приём более или менее помогает при пункции спавшейся вены. Первичное обучение медперсонала на подобных венах недопустимо.
См. также
Примечания
Ссылки
Инъекция — Википедия
Некоторые виды инъекций
Инъе́кция — способ введения в организм неких растворов (например, лекарственных средств) с помощью шприца и пустотелой иглы или впрыскиванием под высоким давлением (безыгольная инъекция).
Виды инъекций
Введение препарата при помощи безыгольного инъектора
Схема действия безыгольного инъектора. Под действием пружины поршень под большим давлением через сопло выпрыскивает тонкую струю проникающую через кожные покровы. Дозировка и глубина регулируются
К основным видам инъекций относят следующие:
- внутрикожная (intracutaneous)
- подкожная (subcutaneous)
- внутримышечная (intramuscular)
- внутривенная (intravenous)
- внутриартериальная
- внутрикостная
- парабульбарная (раствор вводится в область под глазным яблоком)
Внутримышечные инъекции
Внутримышечная инъекция — один из наиболее распространённых способов введения небольших объёмов лекарственных веществ. Мышцы обладают разветвлённой сетью кровеносных и лимфатических сосудов, что создаёт хорошие условия для всасывания лекарств. При внутримышечной инъекции создаётся депо, из которого препарат постепенно всасывается в кровеносное русло, что позволяет поддерживать примерно одинаковую концентрацию действующего вещества в крови в течение нескольких часов и тем самым обеспечить его длительное действие.
Для предотвращения осложнений, внутримышечные инъекции рекомендуется производить в местах тела, где имеется значительный слой мышечной ткани, и близко не располагаются крупные сосуды и нервные стволы. Длина применяемой иглы зависит от толщины слоя подкожно-жировой клетчатки, так как необходимо, чтобы при введении игла прошла подкожную клетчатку и срез её располагался непосредственно в мышце. Инъекции производят обычно в ягодичные мышцы, реже — в мышцы передней поверхности бедра или дельтовидную мышцу.
Возможные осложнения внутримышечных инъекций
При внутримышечных инъекциях возможны следующие осложнения:
- Попадание иглы в кровеносный сосуд, что может привести к эмболии, если вводятся масляные растворы или взвеси, которые не должны попадать в непосредственно в кровоток. При применении подобных препаратов после введения иглы в мышцу оттягивают поршень назад и убеждаются в отсутствии крови в шприце.
- Инфильтраты — болезненные уплотнения в толще мышечной ткани на месте укола. Могут возникнуть на второй-третий день после инъекции. Причинами их возникновения может быть как несоблюдение правил асептики (нестерильный шприц, плохо обработанное место укола), так и многократное введение препаратов в одно и то же место, или повышенная чувствительность тканей человека к вводимому препарату (характерно для масляных растворов и некоторых антибиотиков).
- Абсцесс — проявляется гиперемией, флюктуацией и болезненностью кожи над инфильтратом, повышенной температурой тела. Требует срочной хирургической обработки и лечения антибиотиками.
- Аллергические реакции на введённый препарат. Для избежания данных осложнений перед введением препарата собирается анамнез, выясняется наличие аллергических реакций на какие-либо вещества. При любом проявлении аллергической реакции (независимо от способа предыдущего введения) целесообразна отмена препарата, поскольку повторное введение данного лекарственного средства может привести к анафилактическому шоку.
Подкожные инъекции
Применяется, например, при введении инсулина.
Подкожно-жировой слой обладает густой сосудистой сетью, поэтому введённые подкожно лекарственные вещества оказывают действие быстрее по сравнению с введением через рот — они минуют желудочно-кишечный тракт, попадая непосредственно в кровоток. Подкожные инъекции производят иглой самого малого диаметра и вводят до 2 мл лекарственных препаратов, которые быстро всасываются в рыхлой подкожной клетчатке, не оказывая на неё вредного воздействия.
Наиболее удобными участками для подкожного введения являются:
- наружная поверхность плеча;
- подлопаточное пространство;
- передненаружная поверхность бедра;
- боковая поверхность брюшной стенки;
- нижняя часть подмышечной области.
В этих местах кожа легко захватывается в складку и минимальна опасность повреждения кровеносных сосудов, нервов и надкостницы.
Не рекомендуется производить инъекции:
- в места с отёчной подкожно-жировой клетчаткой;
- в уплотнения от плохо рассосавшихся предыдущих инъекций.
Кожа над местом введения собирается в складку, игла под углом 45° вводится в кожу, затем плавно в подкожно-жировую клетчатку вводится раствор лекарственного препарата.
Внутрикожная инъекция
Внутрикожная инъекция туберкулина при постановке реакции Манту (образование «лимонной корочки»)
Внутривенные инъекции
Игла «бабочка» (для инфузий)
Внутривенные инъекции предусматривают введение лекарственного вещества непосредственно в кровяное русло. Наиболее важным правилом при этом является строжайшее соблюдение правил асептики (мытьё и обработка рук, кожи больного и т. п.).
Особенности строения вен
Для внутривенных инъекций чаще всего используют вены локтевой ямки, поскольку они имеют большой диаметр, лежат поверхностно и сравнительно мало смещаются, а также поверхностные вены кисти, предплечья, реже вены нижних конечностей. Теоретически, внутривенная инъекция может быть произведена в любую из вен человеческого организма. Также аналогом внутривенной инъекции является введение препарата через диафрагму рта в корень языка. Это связано с особенностями анатомического строения языка человека.
Подкожные вены верхней конечности — лучевая и локтевая подкожные вены. Обе эти вены, соединяясь по всей поверхности верхней конечности, образуют множество соединений, самое крупное из которых — средняя вена локтя, наиболее часто используемая для пункций. В зависимости от того, насколько чётко вена просматривается под кожей и пальпируется (прощупывается), выделяют три типа вен:
- Хорошо контурированная вена. Вена хорошо просматривается, чётко выступает над кожей, объёмна. Хорошо видны боковые и передняя стенки. При пальпации прощупывается почти вся окружность вены, за исключением внутренней стенки.
- Слабо контурированная вена. Очень хорошо просматривается и пальпируется только передняя стенка сосуда, вена не выступает над кожей.
- Не контурированная вена. Вена не просматривается, и очень плохо пальпируется, или вена вообще не просматривается и не пальпируется.
По степени фиксации вены в подкожной клетчатке выделяют следующие варианты:
- Фиксированная вена — вена смещается по плоскости незначительно, переместить её на расстояние ширины сосуда практически невозможно.
- Скользящая вена — вена легко смещается в подкожной клетчатке по плоскости, её можно сместить на расстояние больше её диаметра. При этом нижняя стенка такой вены, как правило, не фиксируется.
По выраженности стенки можно выделить следующие типы:
- Толстостенная вена — вена толстая, плотная.
- Тонкостенная вена — вена с тонкой, легко ранимой стенкой.
Используя все перечисленные анатомические параметры, определяют следующие клинические варианты:
- хорошо контурированная фиксированная толстостенная вена — такая вена встречается в 35 % случаев;
- Хорошо контурированная скользящая толстостенная вена — встречается в 14 % случаев;
- слабо контурированная, фиксированная толстостенная вена — встречается в 21 % случаев;
- Слабо контурированная скользящая вена — встречается в 12 % случаев;
- Неконтурированная фиксированная вена — встречается в 18 % случаев.
Наиболее пригодны для пункции вены первых двух клинических вариантов. Хорошие контуры, толстая стенка позволяют довольно легко пунктировать вену.
Менее удобны вены третьего и четвёртого вариантов, для пункции которых наиболее подходит тонкая игла. Следует только помнить, что при пункции «скользящей» вены её необходимо фиксировать пальцем свободной руки.
Наиболее неблагоприятны для пункции вены пятого варианта. При работе с такой веной применяют предварительную пальпацию (прощупывание), пункция «вслепую» не рекомендуется.
Осложнения при внутривенных инъекциях
Одной из наиболее часто встречающихся анатомических особенностей вен является так называемая ломкость. Визуально и пальпаторно ломкие вены ничем не отличаются от обычных. Пункция их, как правило, также не вызывает затруднения, но в месте прокола очень быстро появляется гематома, которая нарастает, несмотря на то, что все приёмы контроля подтверждают правильное попадание иглы в вену. Считается, что, вероятно, происходит следующее: игла является ранящим агентом, и в одних случаях прокол стенки вены соответствует диаметру иглы, а в других из-за анатомических особенностей происходит разрыв по ходу вены.
Нарушения техники фиксации иглы в вене также могут привести к осложнениям. Слабо фиксированная игла наносит дополнительную травму сосуду. Данное осложнение встречается, почти исключительно, у лиц пожилого возраста. При данной патологии введение лекарственного средства в эту вену прекращают, пунктируют другую вену и проводят инфузию, обращая внимание на фиксацию иглы в сосуде. На область гематомы накладывают тугую повязку.
Довольно частым осложнением бывает поступление инфузионного раствора в подкожную клетчатку. Наиболее часто после пункции вены в локтевом сгибе недостаточно устойчиво фиксируется игла, при движении больного рукой игла выходит из вены и раствор поступает под кожу. Иглу в локтевом сгибе рекомендуется фиксировать не менее чем в двух точках, а у беспокойных больных фиксировать вену на протяжении конечности, исключая область суставов.
Другая причина поступления жидкости под кожу — сквозной прокол вены, это чаще бывает при применении одноразовых игл, более острых, чем многоразовые, в этом случае раствор поступает частично в вену, а частично под кожу.
В случае нарушения центрального и периферического кровообращения вены спадаются. Пункция подобной вены крайне сложна. В этом случае больного просят более энергично сжимать и разжимать пальцы и параллельно похлопывают по коже, просматривая вену в области пункции. Как правило, этот приём более или менее помогает при пункции спавшейся вены. Первичное обучение медперсонала на подобных венах недопустимо.
См. также
Примечания
Ссылки
Инъекция (значения) — это… Что такое Инъекция (значения)?
- Инъекция (значения)
Инъе́кция:
- Инъекция (медицина) — введение лекарств посредством шприца
- Инъекция (математика) — разновидность функции в математике
- Инъекция (геология) — процесс проникновения магматического материала в различные породы.
- Финансовые инъекции в экономике
- В информационной безопасности — вид хакерской атаки
Категория:
- Многозначные термины
Wikimedia Foundation.
2010.
Смотреть что такое «Инъекция (значения)» в других словарях:
Инъекция — У этого термина существуют и другие значения, см. Инъекция (значения). Инъекция способ введения в организм неких растворов (например, лекарственных средств) с помощью шприца и пустотелой иглы или впрыскиванием под высоким давлением… … Википедия
Инъекция (математика) — У этого термина существуют и другие значения, см. Инъекция (значения). Инъективная функция. Отображение … Википедия
Инъекция SQL — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… … Википедия
PHP-инъекция — (англ. PHP injection) один из способов взлома веб сайтов, работающих на PHP, заключающийся в выполнении постороннего кода на серверной стороне. Потенциально опасными функциями являются: eval(), preg replace() (с модификатором «e»),… … Википедия
SQL-инъекция — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… … Википедия
SQL инъекция — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… … Википедия
Крэкерская атака — Хакерская атака в узком смысле слова в настоящее время под словосочетанием понимается «Покушение на систему безопасности», и склоняется скорее к смыслу следующего термина Крэкерская атака. Это произошло из за искажения смысла самого слова «хакер» … Википедия
СЕРДЦЕ — СЕРДЦЕ. Содержание: I. Сравнительная анатомия……….. 162 II. Анатомия и гистология……….. 167 III. Сравнительная физиология………. 183 IV. Физиология………………. 188 V. Патофизиология……………. 207 VІ. Физиология, пат.… … Большая медицинская энциклопедия
Фраксипарин — Действующее вещество ›› Надропарин кальция* (Nadroparin calcium*) Латинское название Fraxiparine АТХ: ›› B01AB06 Надропарин Фармакологическая группа: Антикоагулянты Состав и форма выпуска Раствор для инъекций1 шприцнадропарин кальция МЕ анти… … Словарь медицинских препаратов
Функция (математика) — У этого термина существуют и другие значения, см. функция. Запрос «Отображение» перенаправляется сюда; см. также другие значения … Википедия
Инъекция — это… Что такое инъекция?
Или просто кольнут смертельной инъекцией, потому что наступил клеточный распад, и инъекция эта будет единственной реальной помощью мне.
Одна инъекция безвредных микроорганизмов в эпидермис — и через неделю в глубинном слое вашей кожи разрастается люминесцентными узорами колония микроорганизмов.
Противошоковая инъекция, возможно, поможет выиграть время, чтобы вызвать по радио санитарный вертолет из столицы государства Тонга, города Нукуалофа.
Но если для Запада опыт русской литературы стал только частью общего литературного знания, и его инъекция, бесспорно, благотворна, то русское культурное общество в свое время получило такую дозу литературного проповедничества, что в конечном счете стало страдать чем-то наподобие моральной гипертонии, или гиперморалистической болезнью.
Зная о том, что было позже, мы говорим себе: вот решающее мгновение, вот когда сделана первая инъекция эротического наркотика, — а ведь, может статься, на самом деле ничего такого и не было.
Одна единственная инъекция возвращала жизнь обреченным, буквально на глазах люди избавлялись от болезней, на лечение которых уходили годы.
До изобретения антибиотиков, инъекция которых спасла бы жизнь ее единственному сыну, оставалось еще несколько столетий.
Только инъекция тофранила делала женщину послушной, и она засыпала, не выпуская из тощих рук свое сокровище с желтыми, замусоленными страницами.
Вот — сквозь видение взгляда сквозит сокровенное, Словно инъекция солнечная внутривенная, Будто рука, пустоту между пальцев цедящая, Вдруг обрела долгожданное, животворящее.
Резиденту была сделана внутривенная инъекция с большим количеством алкоголя, после чего тот почувствовал себя несравнимо лучше.
ИНЪЕКЦИЯ — это… Что такое ИНЪЕКЦИЯ?
ИНЪЕКЦИЯ — (лат., от injicere). 1) впрыскивание лекарственных жидкостей к кровеносные сосуды и полости человеческого тела. 2) искусственное наполнение окрашенными веществами полостей и каналов тела животного или научных целей. Словарь иностранных слов,… … Словарь иностранных слов русского языка
инъекция — инъектирование, укол, шпиганка, вливание, впрыск, внедрение, впрыскивание, микроинъекция Словарь русских синонимов. инъекция см. впрыскивание Словарь синонимов русского языка. Практический справочник. М.: Русский язык … Словарь синонимов
ИНЪЕКЦИЯ — различных окрашенных масс в кровеносные и лимф, сосуды и в нек рые железистые протоки широко применяется в описательной и топографической анатомии для облегчения изучения указанных систем. В гистологии также существуют методы И. сосудистой… … Большая медицинская энциклопедия
ИНЪЕКЦИЯ — впрыскивание растворов лекарственных веществ в кожу, под кожу, в мышцы, в вену. Инъекции можно производить самим в домашних условиях (например, впрыскивать инсулин при диабете) по назначению врача и в дозе, им указанной. Для инъекции применяется… … Краткая энциклопедия домашнего хозяйства
ИНЪЕКЦИЯ — (от лат. injectio вбрасывание) впрыскивание подкожное, внутримышечное и другое введение в ткани (сосуды) организма малых количеств растворов (преимущественно лекарственных средств) … Большой Энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, в медицине введение пациенту лекарств или других жидкостей в целях диагностики, лечения или предотвращения заболеваний с использованием особого устройства шприца с закрепленной на нем иглой. Инъекции бывают внутривенные (в вену),… … Научно-технический энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, инъекции, жен. (лат. injectio вбрасывание). 1. Введение лекарств в организм подкожным впрыскиванием (мед.). 2. Искусственное наполнение затвердевающими веществами полостей в трупах животных и человека для изготовления анатомических… … Толковый словарь Ушакова
ИНЪЕКЦИЯ — [injectio вбрасывание] в петрологии процесс проникновения магм, расплава между слоями осад, г. п. (послойная И.), или в трещины, пересекающие толщи п. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия
инъекция — Метод введения материала (жидкости раствора или суспензии) внутрь какой либо ткани, различают внутриклеточные, подкожные, внутримышечные, внутрибрюшинные, пероральные И.; также И. введение нуклеиновой кислоты внутрь клетки. [Арефьев В.А.,… … Справочник технического переводчика
Инъекция — * ін’екцыя * injection введение вирусного или любого иного материала (жидкости, суспензии, ДНК и др.) внутрь определенной клетки (ткани). Различают И. внутриклеточные, подкожные, внутримышечные, внутрибрюшинные и пероральные (через рот) … Генетика. Энциклопедический словарь
ИНЪЕКЦИЯ — это… Что такое ИНЪЕКЦИЯ?
ИНЪЕКЦИЯ — (лат., от injicere). 1) впрыскивание лекарственных жидкостей к кровеносные сосуды и полости человеческого тела. 2) искусственное наполнение окрашенными веществами полостей и каналов тела животного или научных целей. Словарь иностранных слов,… … Словарь иностранных слов русского языка
инъекция — инъектирование, укол, шпиганка, вливание, впрыск, внедрение, впрыскивание, микроинъекция Словарь русских синонимов. инъекция см. впрыскивание Словарь синонимов русского языка. Практический справочник. М.: Русский язык … Словарь синонимов
ИНЪЕКЦИЯ — различных окрашенных масс в кровеносные и лимф, сосуды и в нек рые железистые протоки широко применяется в описательной и топографической анатомии для облегчения изучения указанных систем. В гистологии также существуют методы И. сосудистой… … Большая медицинская энциклопедия
ИНЪЕКЦИЯ — впрыскивание растворов лекарственных веществ в кожу, под кожу, в мышцы, в вену. Инъекции можно производить самим в домашних условиях (например, впрыскивать инсулин при диабете) по назначению врача и в дозе, им указанной. Для инъекции применяется… … Краткая энциклопедия домашнего хозяйства
ИНЪЕКЦИЯ — (от лат. injectio вбрасывание) впрыскивание подкожное, внутримышечное и другое введение в ткани (сосуды) организма малых количеств растворов (преимущественно лекарственных средств) … Большой Энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, в медицине введение пациенту лекарств или других жидкостей в целях диагностики, лечения или предотвращения заболеваний с использованием особого устройства шприца с закрепленной на нем иглой. Инъекции бывают внутривенные (в вену),… … Научно-технический энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, и, жен. (спец.). 1. Введение лекарственного раствора непосредственно под кожу, в мышцу, в вену. 2. Введение раствора в специально подготовленный канал. И. раствора в шурф. | прил. инъекционный, ая, ое. Толковый словарь Ожегова. С.И.… … Толковый словарь Ожегова
ИНЪЕКЦИЯ — [injectio вбрасывание] в петрологии процесс проникновения магм, расплава между слоями осад, г. п. (послойная И.), или в трещины, пересекающие толщи п. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия
инъекция — Метод введения материала (жидкости раствора или суспензии) внутрь какой либо ткани, различают внутриклеточные, подкожные, внутримышечные, внутрибрюшинные, пероральные И.; также И. введение нуклеиновой кислоты внутрь клетки. [Арефьев В.А.,… … Справочник технического переводчика
Инъекция — * ін’екцыя * injection введение вирусного или любого иного материала (жидкости, суспензии, ДНК и др.) внутрь определенной клетки (ткани). Различают И. внутриклеточные, подкожные, внутримышечные, внутрибрюшинные и пероральные (через рот) … Генетика. Энциклопедический словарь
инъекция — это… Что такое инъекция?
ИНЪЕКЦИЯ — (лат., от injicere). 1) впрыскивание лекарственных жидкостей к кровеносные сосуды и полости человеческого тела. 2) искусственное наполнение окрашенными веществами полостей и каналов тела животного или научных целей. Словарь иностранных слов,… … Словарь иностранных слов русского языка
инъекция — инъектирование, укол, шпиганка, вливание, впрыск, внедрение, впрыскивание, микроинъекция Словарь русских синонимов. инъекция см. впрыскивание Словарь синонимов русского языка. Практический справочник. М.: Русский язык … Словарь синонимов
ИНЪЕКЦИЯ — различных окрашенных масс в кровеносные и лимф, сосуды и в нек рые железистые протоки широко применяется в описательной и топографической анатомии для облегчения изучения указанных систем. В гистологии также существуют методы И. сосудистой… … Большая медицинская энциклопедия
ИНЪЕКЦИЯ — впрыскивание растворов лекарственных веществ в кожу, под кожу, в мышцы, в вену. Инъекции можно производить самим в домашних условиях (например, впрыскивать инсулин при диабете) по назначению врача и в дозе, им указанной. Для инъекции применяется… … Краткая энциклопедия домашнего хозяйства
ИНЪЕКЦИЯ — (от лат. injectio вбрасывание) впрыскивание подкожное, внутримышечное и другое введение в ткани (сосуды) организма малых количеств растворов (преимущественно лекарственных средств) … Большой Энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, в медицине введение пациенту лекарств или других жидкостей в целях диагностики, лечения или предотвращения заболеваний с использованием особого устройства шприца с закрепленной на нем иглой. Инъекции бывают внутривенные (в вену),… … Научно-технический энциклопедический словарь
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, инъекции, жен. (лат. injectio вбрасывание). 1. Введение лекарств в организм подкожным впрыскиванием (мед.). 2. Искусственное наполнение затвердевающими веществами полостей в трупах животных и человека для изготовления анатомических… … Толковый словарь Ушакова
ИНЪЕКЦИЯ — ИНЪЕКЦИЯ, и, жен. (спец.). 1. Введение лекарственного раствора непосредственно под кожу, в мышцу, в вену. 2. Введение раствора в специально подготовленный канал. И. раствора в шурф. | прил. инъекционный, ая, ое. Толковый словарь Ожегова. С.И.… … Толковый словарь Ожегова
ИНЪЕКЦИЯ — [injectio вбрасывание] в петрологии процесс проникновения магм, расплава между слоями осад, г. п. (послойная И.), или в трещины, пересекающие толщи п. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия
инъекция — Метод введения материала (жидкости раствора или суспензии) внутрь какой либо ткани, различают внутриклеточные, подкожные, внутримышечные, внутрибрюшинные, пероральные И.; также И. введение нуклеиновой кислоты внутрь клетки. [Арефьев В.А.,… … Справочник технического переводчика
Инъекция — * ін’екцыя * injection введение вирусного или любого иного материала (жидкости, суспензии, ДНК и др.) внутрь определенной клетки (ткани). Различают И. внутриклеточные, подкожные, внутримышечные, внутрибрюшинные и пероральные (через рот) … Генетика. Энциклопедический словарь
инъекций, виды инъекций, список инъекций, производители инъекций
В медицинской терминологии инъекция называется уколом или уколом и является популярным способом введения жидких лекарств в тело пациента. Помимо приема пероральных лекарств от проблем со здоровьем или местного применения лекарств в виде лосьонов и кремов, существуют инъекции, которые считаются наиболее часто используемыми медицинскими процедурами. Согласно отчету ВОЗ, во всем мире ежегодно делается около 20 миллиардов инъекций.
Что такое инъекция (в медицине)?
Впрыск определяется как
процесс, при котором небольшой участок кожи прокалывается или прокалывается
шприц и игла для введения вещества для профилактики, лечения или
в рекреационных целях. Следует отметить, что инъекция следует за
парентеральный способ введения; то есть лекарства вводятся не
через пищеварительный тракт.
Способы инъекций Инфузии: виды инъекций
Банка для инъекций
вводиться внутривенно, внутримышечно, внутрикожно или подкожно.Каждый вид инъекций используется для решения конкретной проблемы со здоровьем, конкретной
назначение, но порядок приготовления уколов такой же.
Внутрикожные инъекции
Этот метод включает введение
жидкости попадают в верхний слой кожи, который становится мягким и податливым. В основном
используется для лечения определенных проблем со здоровьем, включая многие аллергии и
туберкулез. Жидкое лекарство вводится внутрикожно,
который будет лежать прямо под кожей â, ¬â „¢ s
поверхность между слоями кожи.Игла очень крошечная, и
правильно вводит жидкость под поверхность кожи.
Внутримышечные инъекции
Это наиболее распространенный способ введения
лекарство прямо в пациента. Для быстрого всасывания лекарства
это очень полезный процесс, потому что лекарство от этой инъекции
вставляется непосредственно в мышцу. Это позволяет лекарству легко набирать
доступ к кровотоку и быстро приступит к его заживлению. Внутримышечный
инъекции — лучший и самый безопасный способ введения лекарства в
пациент.
Подкожные инъекции
Инъекции такого типа используются там, где
лекарство нужно всасывать медленно. В этом типе инъекции игла
должен пройти через первые 2 слоя кожи, то есть эпидермис и
дерма. Игла должна дальше проникать в жировую прослойку
кожа, известная как подкожная клетчатка. Лекарства, вводимые через
подкожные инъекции имеют наименьшие шансы на неблагоприятное
реакция. Инсулин — это один из видов лекарств, которые вводят таким образом, поэтому
также ряд прививок.
Во всех этих инъекциях размер иглы варьируется. Чем глубже
укол, тем длиннее должна быть игла. При внутримышечной инъекции
игла должна быть не менее нескольких дюймов в длину. Подкожные инъекции имеют иглы
которые имеют длину примерно дюйм. Внутрикожные инъекции используют
самая короткая игла, потому что они вставляются только под первый слой
кожи.
Список инъекций
.
Что такое SQL-инъекция (SQLi) и как предотвратить атаки
SQL-инъекция (SQLi) — это тип атаки путем инъекции, которая позволяет выполнять вредоносные операторы SQL. Эти операторы управляют сервером базы данных за веб-приложением. Злоумышленники могут использовать уязвимости SQL Injection, чтобы обойти меры безопасности приложений. Они могут обходить аутентификацию и авторизацию веб-страницы или веб-приложения и извлекать содержимое всей базы данных SQL. Они также могут использовать SQL-инъекцию для добавления, изменения и удаления записей в базе данных.
Уязвимость внедрения SQL-кода может затронуть любой веб-сайт или веб-приложение, использующее базу данных SQL, например MySQL, Oracle, SQL Server или другие. Преступники могут использовать его для получения несанкционированного доступа к вашим конфиденциальным данным: информации о клиентах, личным данным, коммерческой тайне, интеллектуальной собственности и т. Д. Атаки с использованием SQL-инъекций — одна из старейших, наиболее распространенных и самых опасных уязвимостей веб-приложений. Организация OWASP (Open Web Application Security Project) называет инъекции в своем документе OWASP Top 10 2017 угрозой номер один для безопасности веб-приложений.
Как и почему выполняется атака с использованием SQL-инъекции
Чтобы провести атаку с использованием SQL-инъекции, злоумышленник должен сначала найти уязвимые пользовательские данные на веб-странице или в веб-приложении. Веб-страница или веб-приложение, имеющее уязвимость SQL-инъекции, использует такой пользовательский ввод непосредственно в SQL-запросе. Злоумышленник может создавать входной контент. Такой контент часто называют вредоносной полезной нагрузкой и является ключевой частью атаки. После того, как злоумышленник отправит это содержимое, в базе данных выполняются вредоносные команды SQL.
SQL — это язык запросов, который был разработан для управления данными, хранящимися в реляционных базах данных. Вы можете использовать его для доступа, изменения и удаления данных. Многие веб-приложения и веб-сайты хранят все данные в базах данных SQL. В некоторых случаях вы также можете использовать команды SQL для выполнения команд операционной системы. Следовательно, успешная атака с использованием SQL-инъекции может иметь очень серьезные последствия.
- Злоумышленники могут использовать SQL-инъекции для поиска учетных данных других пользователей в базе данных. Затем они могут выдавать себя за этих пользователей.Выдающийся пользователь может быть администратором базы данных со всеми привилегиями базы данных.
- SQL позволяет выбирать и выводить данные из базы данных. Уязвимость SQL-инъекции может позволить злоумышленнику получить полный доступ ко всем данным на сервере базы данных.
- SQL также позволяет изменять данные в базе данных и добавлять новые данные. Например, в финансовом приложении злоумышленник может использовать SQL-инъекцию для изменения балансов, аннулирования транзакций или перевода денег на свой счет.
- Вы можете использовать SQL для удаления записей из базы данных, даже для удаления таблиц.Даже если администратор создает резервные копии базы данных, удаление данных может повлиять на доступность приложения до тех пор, пока база данных не будет восстановлена. Кроме того, резервные копии могут не охватывать самые свежие данные.
- На некоторых серверах баз данных вы можете получить доступ к операционной системе с помощью сервера баз данных. Это может быть намеренно или случайно. В таком случае злоумышленник может использовать SQL-инъекцию в качестве исходного вектора, а затем атаковать внутреннюю сеть за межсетевым экраном.
Существует несколько типов атак SQL Injection: внутриполосный SQLi (с использованием ошибок базы данных или команд UNION), слепой SQLi и внеполосный SQLi.Вы можете узнать больше о них в следующих статьях: Типы SQL-инъекций (SQLi), Слепые SQL-инъекции: что это такое.
Чтобы шаг за шагом проследить, как выполняется атака с использованием SQL-инъекции и какие серьезные последствия она может иметь, см .: Использование SQL-инъекции: практический пример.
Пример простой SQL-инъекции
Первый пример очень простой. Он показывает, как злоумышленник может использовать уязвимость SQL Injection для обхода безопасности приложения и аутентификации в качестве администратора.
Следующий сценарий представляет собой псевдокод, выполняемый на веб-сервере. Это простой пример аутентификации с использованием имени пользователя и пароля. В примере базы данных есть таблица с именем пользователей
со следующими столбцами: имя пользователя
и пароль
.
# Определить переменные POST
uname = request.POST ['имя пользователя']
passwd = request.POST ['пароль']
# SQL-запрос уязвим для SQLi
sql = «ВЫБРАТЬ ИД ОТ пользователей ГДЕ username =’ »+ uname +« ’AND password =’ »+ passwd +« ’»
# Выполнить инструкцию SQL
база данных.выполнить (sql)
Эти поля ввода уязвимы для SQL-инъекции. Злоумышленник может использовать команды SQL во входных данных таким образом, чтобы изменить инструкцию SQL, выполняемую сервером базы данных. Например, они могут использовать трюк с одинарной кавычкой и установить в поле passwd
значение:
пароль 'ИЛИ 1 = 1
В результате сервер базы данных выполняет следующий SQL-запрос:
ВЫБЕРИТЕ идентификатор ИЗ пользователей, ГДЕ username = 'username' AND password = 'password' OR 1 = 1 '
Из-за оператора OR 1 = 1
, предложение WHERE
возвращает первый id
из таблицы пользователей
независимо от имени пользователя
и пароля .Первый пользователь
с идентификатором
в базе данных очень часто является администратором. Таким образом злоумышленник не только обходит аутентификацию, но и получает права администратора. Они также могут закомментировать остальную часть оператора SQL для дальнейшего контроля выполнения запроса SQL:
- MySQL, MSSQL, Oracle, PostgreSQL, SQLite
'ИЛИ' 1 '=' 1 ' -
'ИЛИ' 1 '=' 1 ' / *
- MySQL
'ИЛИ' 1 '=' 1 ' #
- Доступ (с использованием нулевых символов)
'ИЛИ' 1 '=' 1 '% 00
'ИЛИ' 1 '=' 1 '% 16
Пример внедрения SQL на основе объединения
Один из наиболее распространенных типов SQL-инъекций использует оператор UNION.Это позволяет злоумышленнику объединить результаты двух или более операторов SELECT в один результат. Методика называется union -based SQL Injection.
Ниже приведен пример этой техники. Он использует веб-страницу testphp.vulnweb.com , намеренно уязвимый веб-сайт, размещенный на Acunetix.
Следующий HTTP-запрос является обычным запросом, который отправляет законный пользователь:
ПОЛУЧИТЬ http://testphp.vulnweb.com/artists.php?artist= 1 HTTP / 1.1
Хост: testphp.vulnweb.com
Параметр Artist
уязвим для внедрения SQL. Следующая полезная нагрузка изменяет запрос для поиска несуществующей записи. Он устанавливает значение в строке запроса URL равным -1
. Конечно, это может быть любое другое значение, которого нет в базе данных. Однако отрицательное значение - хорошее предположение, поскольку идентификатор в базе данных редко бывает отрицательным числом.
В SQL Injection оператор UNION
обычно используется для присоединения вредоносного SQL-запроса к исходному запросу, предназначенному для выполнения веб-приложением.Результат введенного запроса будет объединен с результатом исходного запроса. Это позволяет злоумышленнику получать значения столбцов из других таблиц.
GET http://testphp.vulnweb.com/artists.php?artist= -1 UNION SELECT 1, 2, 3 HTTP / 1.1
Хост: testphp.vulnweb.com
В следующем примере показано, как можно использовать полезную нагрузку SQL Injection для получения более значимых данных с этого намеренно уязвимого сайта:
ПОЛУЧИТЬ http: // testphp.vulnweb.com/artists.php?artist= -1 UNION SELECT 1, pass, cc FROM users WHERE uname = 'test' HTTP / 1.1
Хост: testphp.vulnweb.com
Как предотвратить внедрение SQL
Единственный надежный способ предотвратить атаки SQL-инъекций - это проверка ввода и параметризованные запросы, включая подготовленные операторы. Код приложения никогда не должен использовать ввод напрямую. Разработчик должен очистить все входные данные, а не только входные данные веб-форм, такие как формы входа в систему. Они должны удалить элементы потенциально вредоносного кода, такие как одинарные кавычки.Также рекомендуется отключить отображение ошибок базы данных на производственных сайтах. Ошибки базы данных можно использовать с SQL Injection для получения информации о вашей базе данных.
Если вы обнаружите уязвимость SQL-инъекции, например, с помощью сканирования Acunetix, возможно, вы не сможете исправить ее немедленно. Например, уязвимость может быть в открытом исходном коде. В таких случаях вы можете использовать брандмауэр веб-приложения для временной очистки вводимых данных.
Чтобы узнать, как предотвратить атаки SQL-инъекций на языке PHP, см. Предотвращение уязвимостей SQL-инъекций в приложениях PHP и их устранение.Чтобы узнать, как это сделать на многих других языках программирования, обратитесь к руководству Bobby Tables по предотвращению внедрения SQL.
Как предотвратить SQL-инъекции (SQLi) - Общие советы
Предотвратить уязвимости внедрения SQL-кода непросто. Конкретные методы предотвращения зависят от подтипа уязвимости SQLi, ядра базы данных SQL и языка программирования. Однако есть определенные общие стратегические принципы, которым вы должны следовать, чтобы обеспечить безопасность своего веб-приложения.
Шаг 1. Обучите и поддерживайте осведомленностьДля обеспечения безопасности вашего веб-приложения каждый, кто участвует в его создании, должен знать о рисках, связанных с SQL-инъекциями. Вы должны предоставить подходящее обучение безопасности для всех ваших разработчиков, сотрудников отдела контроля качества, DevOps и системных администраторов. Вы можете начать с ссылки на эту страницу. | |
Шаг 2. Не доверяйте никакому вводу пользователяСчитать все данные, вводимые пользователем, ненадежными.Любой пользовательский ввод, который используется в запросе SQL, представляет риск внедрения SQL-кода. Обращайтесь с входными данными от аутентифицированных и / или внутренних пользователей так же, как с общедоступными. | |
Шаг 3. Используйте белые, а не черные спискиНе фильтровать вводимые пользователем данные по черным спискам. Умный злоумышленник почти всегда найдет способ обойти ваш черный список. Если возможно, проверяйте и фильтруйте вводимые пользователем данные, используя только строгие белые списки. | |
Шаг 4. Принятие новейших технологийСтарые технологии веб-разработки не имеют защиты SQLi.Используйте последнюю версию среды разработки и языка, а также новейшие технологии, связанные с этой средой / языком. Например, в PHP вместо MySQLi используйте PDO. | |
Шаг 5: Используйте проверенные механизмыНе пытайтесь создать защиту SQLi с нуля. Большинство современных технологий разработки могут предложить вам механизмы защиты от SQLi. Используйте такие механизмы вместо того, чтобы изобретать велосипед.Например, используйте параметризованные запросы или хранимые процедуры. | |
Шаг 6. Регулярное сканирование (с помощью Acunetix)SQL-инъекции могут быть введены вашими разработчиками или через внешние библиотеки / модули / программное обеспечение. Вам следует регулярно сканировать свои веб-приложения с помощью сканера веб-уязвимостей, такого как Acunetix. Если вы используете Jenkins, вам следует установить плагин Acunetix для автоматического сканирования каждой сборки. |
Дополнительная литература
Часто задаваемые вопросы
SQL Injection - это веб-уязвимость, вызванная ошибками программистов.Это позволяет злоумышленнику отправлять команды в базу данных, с которой взаимодействует веб-сайт или веб-приложение. Это, в свою очередь, позволяет злоумышленнику получать данные из базы данных или даже изменять их.
См. Пошаговый пример того, как происходят SQL-инъекции.
Единственный эффективный способ обнаружения SQL-инъекций - использование сканера уязвимостей, который часто называют инструментом DAST (динамическое тестирование безопасности приложений).Acunetix, как известно, является лидером в обнаружении SQL-инъекций и других уязвимостей. Acunetix может достичь того места, где другие сканеры не работают.
Узнайте, что Acunetix Premium может для вас сделать.
Лучший способ предотвратить SQL-инъекции - это использовать безопасные программные функции, которые делают невозможными SQL-инъекции: параметризованные запросы (подготовленные операторы) и хранимые процедуры.В настоящее время каждый основной язык программирования имеет такие безопасные функции, и каждый разработчик должен использовать только такие безопасные функции для работы с базой данных.
Просмотрите библиотеку безопасных функций для всех языков программирования.
.
Внедрение зависимости от поля считается вредным
Внедрение полей - очень популярная практика в фреймворках внедрения зависимостей, таких как Spring. Однако у него есть несколько серьезных компромиссов, и его обычно следует избегать.
Типы впрыска
Есть три основных способа внедрить ваши зависимости в ваш класс. Конструктор, сеттер (метод) и внедрение поля. Давайте быстро сравним код одинаковых зависимостей, внедренный всеми подходами.
Конструктор
частная DependencyA dependencyA;
частный DependencyB dependencyB;
частный DependencyC dependencyC;
@Autowired
public DI (DependencyA dependencyA, DependencyB dependencyB, DependencyC dependencyC) {
this.dependencyA = dependencyA;
this.dependencyB = dependencyB;
this.dependencyC = dependencyC;
}
Сеттер
частная DependencyA dependencyA;
частный DependencyB dependencyB;
частный DependencyC dependencyC;
@Autowired
public void setDependencyA (DependencyA dependencyA) {
этот.dependencyA = dependencyA;
}
@Autowired
public void setDependencyB (DependencyB dependencyB) {
this.dependencyB = dependencyB;
}
@Autowired
public void setDependencyC (DependencyC dependencyC) {
this.dependencyC = dependencyC;
}
Поле
@ Autowired
частная DependencyA dependencyA;
@Autowired
частный DependencyB dependencyB;
@Autowired
частный DependencyC dependencyC;
Что не так?
Как видите, вариант Field выглядит очень красиво.Он очень короткий, лаконичный, без шаблонного кода. Код легко читать и ориентироваться. Ваш класс может просто сосредоточиться на важном и не испорчен шаблоном DI. Вы просто помещаете аннотацию @Autowired над полями и все. Никаких специальных конструкторов или сеттеров только для контейнера DI, чтобы предоставить ваши зависимости. Java сама по себе очень многословна, поэтому приветствуется любая возможность сделать код короче, верно?
Нарушение принципа единой ответственности
Добавить новые зависимости очень просто.Может быть, слишком просто. Нет проблем с добавлением шести, десяти или даже дюжины зависимостей. Когда вы используете конструкторы для DI, после определенного момента количество параметров конструктора становится слишком большим, и сразу становится очевидным, что что-то не так. Слишком много зависимостей обычно означает, что у класса слишком много обязанностей. Это может быть нарушением принципа единой ответственности и разделения задач и является хорошим индикатором того, что класс требует дальнейшей проверки и возможного рефакторинга.При вводе непосредственно в поля такого красного флага нет, поскольку этот подход может масштабироваться бесконечно.
Скрытие зависимостей
Использование контейнера DI означает, что класс больше не отвечает за управление своими собственными зависимостями. Ответственность за получение зависимостей возлагается на класс. Кто-то другой теперь отвечает за предоставление зависимостей - контейнер DI или их назначение вручную в тестах. Когда класс больше не отвечает за получение своих зависимостей, он должен четко сообщать о них, используя общедоступный интерфейс - методы или конструкторы.Таким образом, ясно, что требует класс, а также является ли он необязательным (установщики) или обязательным (конструкторы).
DI Контейнерная муфта
Одна из основных идей структур DI заключается в том, что управляемый класс не должен зависеть от используемого контейнера DI. Другими словами, это должен быть простой объект POJO, который можно создать независимо, при условии, что вы передадите ему все необходимые зависимости. Таким образом, вы можете создать его экземпляр в модульном тесте без запуска контейнера DI и протестировать его отдельно (с контейнером, который больше подходит для интеграционного теста).Если связывание контейнеров отсутствует, вы можете использовать класс как управляемый или неуправляемый или даже переключиться на новую структуру DI.
Однако при вводе непосредственно в поля вы не предоставляете прямого способа создания экземпляра класса со всеми его необходимыми зависимостями. Это означает:
- Существует способ (путем вызова конструктора по умолчанию) создать объект, использующий новый в состоянии, когда у него отсутствуют некоторые из его обязательных соавторов, и использование приведет к исключению NullPointerException.
- Такой класс нельзя повторно использовать за пределами контейнеров DI (тесты, другие модули), поскольку нет другого способа, кроме отражения, предоставить ему необходимые зависимости.
Неизменность
В отличие от конструктора, внедрение поля не может использоваться для назначения зависимостей конечным полям, эффективно делая ваши объекты изменяемыми.
Конструктор против инъекции сеттера
Так что полевое впрыскивание может оказаться неприемлемым. То, что осталось? Сеттеры и конструкторы.Какой из них использовать?
Сеттеры
Для внедрения дополнительных зависимостей следует использовать сеттеры
. Класс должен иметь возможность функционировать, когда они не предоставляются. Зависимости можно изменить в любое время после создания объекта. Это может не быть преимуществом в зависимости от обстоятельств. Иногда желательно иметь неизменяемый объект. Иногда полезно изменить соавторов объекта во время выполнения - например, MBeans, управляемые JMX.
Официальная рекомендация от Spring 3.x документация рекомендует использовать сеттеры вместо конструкторов:
Команда Spring обычно выступает за внедрение установщика, потому что большое количество аргументов конструктора может стать громоздким, особенно когда свойства необязательны. Методы Setter также делают объекты этого класса доступными для реконфигурации или повторного внедрения позже. Управление через JMX MBeans - убедительный вариант использования.
Некоторые пуристы предпочитают внедрение на основе конструкторов. Предоставление всех зависимостей объекта означает, что объект всегда возвращается клиентскому (вызывающему) коду в полностью инициализированном состоянии.Недостатком является то, что объект становится менее поддающимся реконфигурации и повторной инъекции.
Конструкторы
Внедрение конструктора подходит для обязательных зависимостей. Те, которые необходимы для правильного функционирования объекта. Предоставляя их в конструкторе, вы можете быть уверены, что объект готов к использованию в момент его создания. Поля, назначенные в конструкторе, также могут быть окончательными, что позволяет объекту быть либо полностью неизменяемым, либо, по крайней мере, защищать его обязательные поля.
Одним из последствий использования конструктора для предоставления зависимостей является то, что циклическая зависимость между двумя объектами, построенными таким образом, больше невозможна (в отличие от инъекции установщика). На самом деле это скорее хорошо, чем ограничение, поскольку следует избегать циклических зависимостей, которые обычно являются признаком плохого дизайна. Таким образом предотвращается подобная практика.
Еще одно преимущество заключается в том, что при использовании Spring 4.3+ вы можете полностью отделить свой класс от фреймворков DI. Причина в том, что Spring теперь поддерживает неявное внедрение конструктора для сценариев с одним конструктором.Это означает, что вам больше не нужны аннотации DI в ваших классах. Конечно, вы можете добиться того же, явно настроив DI в своих конфигурациях Spring для данного класса, это просто упрощает работу.
Начиная с Spring 4.x официальная рекомендация по изменениям документации Spring и внедрению сеттера больше не поощряется по сравнению с конструктором:
Команда Spring обычно выступает за внедрение конструктора, поскольку оно позволяет реализовать компоненты приложения как неизменяемых объектов и гарантировать, что требуемые зависимости не равны нулю.Более того, компоненты, внедренные конструктором, всегда возвращаются клиентскому (вызывающему) коду в полностью инициализированном состоянии. В качестве побочного примечания, большое количество аргументов конструктора - это плохой запах кода , подразумевая, что у класса, вероятно, слишком много обязанностей, и его следует реорганизовать, чтобы лучше решить правильное разделение проблем.
Внедрение через сеттер
в первую очередь следует использовать только для дополнительных зависимостей, которым можно назначить разумные значения по умолчанию в классе. В противном случае проверки на ненулевое значение должны выполняться везде, где код использует зависимость.Одним из преимуществ внедрения установщика является то, что методы установщика делают объекты этого класса доступными для реконфигурации или повторного внедрения позже.
ОБНОВЛЕНИЕ
: поддержка IntelliJ IDEA
С тех пор, как эта статья была опубликована, IDEA представила некоторую приятную поддержку для обнаружения и простого исправления Field Injection. Он может автоматически удалить аннотацию @Autowired
из поля и вместо этого создать конструктор с зависимостью @Autowired
, эффективно заменяя внедрение поля инъекцией конструктора.
Заключение
В большинстве случаев следует избегать закачки в поле. В качестве замены вы должны использовать конструкторы или методы для внедрения ваших зависимостей. У обоих есть свои преимущества и недостатки, и использование зависит от ситуации. Однако, поскольку эти подходы могут быть смешанными, это не выбор «либо или», и вы можете комбинировать внедрение как установщика, так и конструктора в одном классе. Конструкторы больше подходят для обязательных зависимостей и при стремлении к неизменности.Сеттеры лучше подходят для необязательных зависимостей.
.