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
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; } }
<bean id="testService" class="com.lsz.spring.UserService" />
@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 " />
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).