Maison > Java > javaDidacticiel > Apprentissage du cadre de printemps (5) Annotations

Apprentissage du cadre de printemps (5) Annotations

黄舟
Libérer: 2016-12-29 13:17:57
original
1300 Les gens l'ont consulté

L'annotation est un mécanisme similaire aux commentaires. L'ajout d'annotations au code peut utiliser les informations ultérieurement. Contrairement aux annotations, les annotations sont à voir. La machine virtuelle Java ne sera pas compilée et les annotations ne seront pas compilées, mais nous pouvons lire les informations contenues dans les annotations via le mécanisme de réflexion. Les annotations utilisent le mot-clé @interface et héritent de java.lang.annotition.Annotition


Le framework Spring nous fournit la fonction d'annotation.
Utiliser la programmation d'annotations consiste principalement à remplacer les fichiers XML et à accélérer le développement. Cependant, l'utilisation de fichiers XML consiste à modifier le programme pour modifier le code source. Si vous n'utilisez pas de fichiers XML maintenant, cela ne violerait-il pas le principe d'ouverture et de fermeture ? Cependant, les annotations sont également meilleures que les annotations. L'utilisation d'annotations ne nécessite pas la configuration d'autant de fichiers XML. La chose la plus importante est une efficacité de développement élevée. .
Lorsque les annotations ne sont pas utilisées, de nombreuses balises doivent être configurées dans le fichier de configuration applicationContext.xml du framework Spring pour déclarer les objets de classe. En utilisant les annotations, vous n'avez pas besoin d'ajouter des balises dans le fichier de configuration. Ajoutez plutôt des instructions à la position "annotation" de la classe correspondante. L'introduction spécifique est la suivante :

Le framework Spring utilise des annotations en couches.
Couche de persistance : @Repository ;
Couche de service : @Service
Couche de contrôle : @Controller

1 Pour utiliser des annotations, vous devez ajouter des fichiers d'espace de noms et de contraintes au fichier de configuration<.>

<beans ...
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
... http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd ">
Copier après la connexion
2, indiquez au framework quelles classes utilisent les annotations.


<context:component-scan base-package="com.lsz.spring" />
Copier après la connexion
3, annotation de couche de persistance


Package com.lsz.spring;
 
@Repository
public class UserDao{
//。。。。
}
Copier après la connexion
@Repository

est équivalent à

<bean id="userDao" class="com.lsz.spring.UserDao" />
Copier après la connexion
4 dans la configuration fichier , l'annotation de la couche de service

@Service(value="testService")
public classTestService {
 
@Resource//相当于自动装配
private UserDao userDao ;
 
      public UserDao getUserDao() {
              returnuserDao;
      }
      public void setUserDao(UserDao userDao) {
             this.userDao= userDao;
      }
 
}
Copier après la connexion
@Resource est une combinaison de relations entre les objets. La méthode byName est utilisée par défaut pour l'assemblage. trouvé en fonction du nom, ByType sera à nouveau utilisé pour continuer la recherche.

L'annotation @Service est équivalente à
<bean id="testService" class="com.lsz.spring.UserService" />
Copier après la connexion
5, l'annotation de la couche de contrôle
@Controller(value="ua")
@Scope(value="prototype")
public class UserAction {
 
     @Resource
     private UserService userService ;
 
     public UserService getUserService() {
          returnuserService;
     }
}
Copier après la connexion

L'annotation @Controller est équivalente à

<bean id="ua" class="com.lsz.spring.UserAction " />
Copier après la connexion


Les mots-clés d'annotation dans ces trois couches peuvent être remplacés par @Component. Utilisez des annotations pour déclarer les objets. Par défaut, le nom de l'identifiant généré est la première lettre du nom de la classe en minuscule.

6. Obtenez l'objet Action de l'environnement Spring.
ServletContext application =request.getSession().getServletContext();
ApplicationContextac = WebApplicationContextUtils.getWebApplicationContext(application);
 
UserAction useraction = (UserAction)ac.getBean("ua");//获取控制层对象

response.setContentType("text/html;charset=GBK");//设置编码
PrintWriter out =response.getWriter();

//分别将三个层的对象打印出来。
out.println("Action:"+userAction);
out.println("Service:"+userAction.getUserService());
out.println("Dao:"+userAction.getUserService().getUserDao());
Copier après la connexion
Ce qui précède est le contenu des annotations d'apprentissage du framework Spring (5). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !



Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal