Heim  >  Artikel  >  Java  >  Spring Framework Learning (5) Anmerkungen

Spring Framework Learning (5) Anmerkungen

黄舟
黄舟Original
2016-12-29 13:17:571223Durchsuche

Anmerkungen sind ein Mechanismus, der Kommentaren ähnelt, um die Informationen zu einem späteren Zeitpunkt zu verwenden. Anders als Anmerkungen sind Anmerkungen für uns sichtbar. Die Java Virtual Machine wird nicht kompiliert, und Anmerkungen werden nicht kompiliert, aber wir können die Informationen in den Anmerkungen über den Reflexionsmechanismus lesen. Anmerkungen verwenden das Schlüsselwort @interface und erben java.lang.annotition.Annotition


Das Spring Framework stellt uns die Anmerkungsfunktion zur Verfügung.
Die Verwendung von Annotation-Programmierung dient hauptsächlich dazu, XML-Dateien zu ersetzen und die Entwicklung zu beschleunigen. Die Verwendung von XML-Dateien besteht jedoch darin, das Programm zu ändern, um den Quellcode zu ändern. Wenn Sie jetzt keine XML-Dateien verwenden, würde dies nicht gegen das Öffnungs- und Schließprinzip verstoßen? Anmerkungen sind jedoch auch besser als Anmerkungen, da nicht so viele XML-Dateien konfiguriert werden müssen. Das Wichtigste ist eine hohe Entwicklungseffizienz. .
Wenn keine Anmerkungen verwendet werden, müssen viele 60e23eb984d18edbb092da6b8f295aba-Tags in der Konfigurationsdatei applicationContext.xml des Spring Frameworks konfiguriert werden, um Klassenobjekte zu deklarieren. Wenn Sie Anmerkungen verwenden, müssen Sie keine Tags in der Konfigurationsdatei hinzufügen. Fügen Sie stattdessen Anweisungen an der Position „Anmerkung“ der entsprechenden Klasse hinzu. Die spezifische Einführung lautet wie folgt:

Das Spring Framework verwendet geschichtete Anmerkungen.
Persistenzschicht: @Repository;
Dienstschicht: @Service
Kontrollschicht: @Controller

1. Um Anmerkungen zu verwenden, müssen Sie der Konfigurationsdatei Namespace- und Einschränkungsdateien hinzufügen

<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 ">

2, teilen Sie dem Framework mit, welche Klassen Annotationen verwenden.

<context:component-scan base-package="com.lsz.spring" />

3, Annotation der Persistenzschicht

Package com.lsz.spring;
 
@Repository
public class UserDao{
//。。。。
}

@Repository
entspricht

<bean id="userDao" class="com.lsz.spring.UserDao" />

4 in der Konfiguration Datei, die Service-Layer-Anmerkung

@Service(value="testService")
public classTestService {
 
@Resource//相当于自动装配
private UserDao userDao ;
 
      public UserDao getUserDao() {
              returnuserDao;
      }
      public void setUserDao(UserDao userDao) {
             this.userDao= userDao;
      }
 
}
@Resource
ist eine Kombination von Beziehungen zwischen Objekten. Die byName-Methode wird standardmäßig für die Assemblierung verwendet anhand des Namens gefunden, wird ByType erneut verwendet, um mit der Suche fortzufahren.

@Service-Annotation entspricht
<bean id="testService" class="com.lsz.spring.UserService" />
5, Kontrollschicht-Annotation
@Controller(value="ua")
@Scope(value="prototype")
public class UserAction {
 
     @Resource
     private UserService userService ;
 
     public UserService getUserService() {
          returnuserService;
     }
}

@Controller-Annotation entspricht

<bean id="ua" class="com.lsz.spring.UserAction " />


Die Anmerkungsschlüsselwörter in diesen drei Ebenen können durch @Component ersetzt werden.
Verwenden Sie Anmerkungen, um Objekte zu deklarieren. Standardmäßig ist der generierte ID-Name der erste Buchstabe des Klassennamens in Kleinbuchstaben.

6. Holen Sie sich das Action-Objekt aus der Spring-Umgebung.
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());

Das Obige ist der Inhalt der Anmerkungen zum Spring Framework Learning (5). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn