Spring-Annotationen können die XML-Konfiguration reduzieren. Die Annotationskonfiguration hat gegenüber der XML-Konfiguration viele Vorteile: Sie kann den Reflexionsmechanismus von Java vollständig nutzen, um Klassenstrukturinformationen zu erhalten, wodurch der Konfigurationsaufwand effektiv reduziert werden kann. Wenn wir beispielsweise JPA-Anmerkungen zum Konfigurieren der ORM-Zuordnung verwenden, müssen wir keine PO-Attributnamen, -Typen und andere Informationen angeben. Wenn die Beziehungstabellenfelder und PO-Attributnamen und -Typen konsistent sind, müssen Sie nicht einmal Aufgabenattribute schreiben Zuordnungsinformationen – da diese Informationen über den Java-Reflexionsmechanismus abgerufen werden können.
Empfohlener Kurs: Java-Tutorial.
Bevor Sie Anmerkungen verwenden, müssen Sie die automatische Scanfunktion aktivieren
wobei Basispaket das Paket (einschließlich Unterpakete) ist, das muss gescannt werden.
<context:component-scan base-package="cn.test"/>
@Configuration behandelt eine Klasse als IoC-Container. Wenn @Bean in einem seiner Methodenheader registriert ist, wird es als Bean im Spring-Container verwendet.
@Scope-Annotationsumfang
@Lazy(true) zeigt eine verzögerte Initialisierung an
@Service wird zum Kommentieren von Business-Layer-Komponenten verwendet,
@Controller wird verwendet Kontrollschichtkomponenten markieren (z. B. Aktionen in Struts)
@Repository wird zum Markieren von Datenzugriffskomponenten, also DAO-Komponenten, verwendet.
@Component bezieht sich im Allgemeinen auf Komponenten, die schwer zu klassifizieren sind, wir können diese Annotation verwenden, um sie zu kommentieren.
@Scope wird verwendet, um den Bereich anzugeben (wird für Klassen verwendet)
---------------jsr250----
@PostConstruct wird verwendet, um die Initialisierungsmethode anzugeben (verwendet für die Methode)
@PreDestory wird verwendet, um die Zerstörungsmethode anzugeben (verwendet für die Methode)
@Resource wird standardmäßig nach Namen zusammengestellt , wenn keine Bean gefunden wird, die mit dem Namen übereinstimmt, wird sie nach Typ zusammengestellt.
----------
@DependsOn: Definieren Sie die Reihenfolge der Bean-Initialisierung und -Zerstörung
@Primary: Wenn mehrere Beans während der automatischen Assemblierung erscheinen. Wann Wenn ein Kandidat ausgewählt ist, ist die mit @Primary annotierte Bean die erste Wahl, andernfalls wird eine Ausnahme ausgelöst.
@Autowired wird standardmäßig nach Typ assembliert. Wenn wir Assembly nach Namen verwenden möchten, ist dies möglich wird in Verbindung mit der @Qualifier-Annotation verwendet. Wie folgt:
@Autowired @Qualifier("personDaoBean") Es werden mehrere Instanzen zusammen verwendet
@PostConstruct-Initialisierungsanmerkung
@PreDestroy-Zerstörungsanmerkung Standard-Singleton Beim Start geladen? ?
Um die asynchrone Methode @Async aufzurufen, müssen Sie den folgenden Code hinzufügen:
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10"/> <property name="maxPoolSize" value="300"/> </bean> <task:annotation-driven/>
Damit die @Async-Annotation wirksam wird, müssen Sie auch @EnableAsync konfigurieren
Im Hauptprogramm von Spring Boot werden Methoden, die auf der @Async-Annotation basieren, als asynchrone Methoden bezeichnet.
Die Der Anrufer muss nicht warten, bis der Vorgang abgeschlossen ist,
um andere Vorgänge fortzusetzen.
Definieren Sie die durch @Async geänderte Funktion nicht als statischen Typ, damit der asynchrone Aufruf nicht wirksam wird
@ComponentScan(basePackages = "com.xzc.")
@EnableAutoConfiguration
@SpringBootApplication
@PropertySource({"classpath:application.properties", "classpath:xzc.properties"})
@ImportResource("classpath :ws-client .xml")
@EnableRedisHttpSession
@EnableAspectJAutoProxy
@EnableCaching
@EnableAsync
@Configuration
@EnableScheduling startet die geplante Aufgabe
@Entity-Annotation gibt an, dass es sich um eine Entity-Bean handelt
@SuppressWarnings-Annotation?1. @PathVariable
Bei Verwendung der @RequestMapping-URI-Vorlagenstilzuordnung, also someUrl/{paramId}, kann die paramId zu diesem Zeitpunkt über die @Pathvariable-Annotation übergeben werden Bindung an die Parameter der Methode
@Controller @RequestMapping("/owners/{ownerId}") public class RelativePathUriTemplateController { @RequestMapping("/pets/{petId}") public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) { // implementation omitted } }
Der obige Code bindet den Wert der VariablenownerId und petId in der URI-Vorlage an die Parameter der Methode.
Wenn der Methodenparametername nicht mit dem Variablennamen in der zu bindenden URI-Vorlage übereinstimmt, müssen Sie den Namen in der URI-Vorlage in @PathVariable("name") angeben.
Neue Funktion von Spring 4.2 – Verwenden Sie @Order, um die Ladereihenfolge von Konfigurationsklassen anzupassen--------------- --- ----------------------------------
lombok vereinfacht das Verständnis von Java-Code-Anmerkungen
Lombok-Anmerkungen:
Lombok bietet nicht viele Anmerkungen. Sie können sich auf die offiziellen Videoerklärungen und offiziellen Dokumente beziehen.
Online-Hilfedokument zur Lombok-Annotation: http://projectlombok.org/features/index.
Hier sind einige häufig verwendete Lombok-Annotationen:
@Data: Annotation On the Klasse; stellt die Methoden zum Abrufen und Festlegen aller Attribute der Klasse bereit. Darüber hinaus stellt sie die Methoden „equals“, „canEqual“, „hashCode“ und „toString“ bereit.
@Setter: stellt die Einstellungsmethode für bereit das Attribut
@Getter: Annotiert für das Attribut; stellt eine Abrufmethode für das Attribut bereit
@Log4j: Annotiert für die Klasse; stellt ein log4j-Protokollobjekt mit einem Attribut namens log für die Klasse bereit
@NoArgsConstructor: Annotation für die Klasse; Bereitstellung eines Konstruktors ohne Parameter für die Klasse
@AllArgsConstructor: Annotation für die Klasse; Bereitstellung eines Konstruktors mit vollständigen Parametern für die Klasse
======== ==========================
Das obige ist der detaillierte Inhalt vonWas sind die Anmerkungen zum Frühling?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!