Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo inyectar frijoles en las clases ordinarias de primavera

Cómo inyectar frijoles en las clases ordinarias de primavera

Spring inyecta instancias de beans o beans con variables estáticas en clases normales.

Un problema con la inyección Spring es que las clases ordinarias no pueden obtener instancias de Bean en archivos Bean. Es decir, si está en el entorno Servlet de la Web, se puede pasar a través de WebApplicationContextUtils, pero si es una clase normal, será difícil de manejar. Esto requiere

un poco de habilidad de diseño. A continuación se muestra un ejemplo de una clase estática que utiliza instancias en un archivo bean.

1. Si está configurado para inyección en el archivo de configuración:

Clase pública UserinfoUtil

{

Información de usuario IUserInfo privada

p> p>

Información de UserinfoUtil estática privada;

conjunto de anulación pública userInfo(IUserInfo userInfo)

{

this.userInfo = userInfo

}

Public void init()

{

información = esta

información de usuario = esta información de usuario;

p>

}

public static int addUserLoginCnt(número de teléfono de cadena)

{

información de retorno . ;

p>

}

}

Configuración del bean correspondiente:

Configuración del archivo bean correspondiente

ltbean id = " userinfoUtil " class = " com . Huawei . aimi . portal web . service . userinfoUtil " init-method = " init " gt;

ltproperty name = " userInfo " ref = " userInfo "/ gt;

lt/bean gt;

2. Inyectar a través de comentarios:

Clase pública UserinfoUtil

{

@Línea de conexión automática

IUserInfo privada userInfo

Información de UserinfoUtil estática privada;

public void set userInfo(IUserInfo userInfo)

{

this.userInfo = userInfo

}

@PostConstruct

Public void init()

{

info = esta

info . userinfo = this . userinfo;

}

public static int addUserLoginCnt(cadena número de teléfono)

{

información de devolución . información de usuario . adduserlogincnt(número de teléfono);

}

}