-
要想使用註解,必須加入約束和相應配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> <!--進行註解驅動註冊,從而使註解生效,用於啟用那些已經在spring容器裡註冊過的bean上面的註解,也就是顯示的向Spring註冊--> </beans>
-
之前用xml檔案來配置bean,可以用註解進行代替
- 配置掃描哪些包下的註解
<!--指定註解掃描包--> <context:component-scan base-package="com.kuang.pojo"/>
- 在指定包下編寫類,增加註解
@Component("user") // 相當於配置檔案中 <bean id="user" class="當前註解的類"/> public class User { public String name = "zhangsan"; }
- 使用註解注入屬性
@Component("user") // 相當於配置檔案中 <bean id="user" class="當前註解的類"/> public class User { @Value("zhangsan") // 相當於配置檔案中 <property name="name" value="zhangsan"/> public String name; }
-
@Component三個衍生註解:將類交給Spring管理裝配
為了更好的進行分層,Spring可以使用其它三個註解,功能一樣,目前使用哪一個功能都一樣。
-
@Controller:web層
-
@Service:service層
-
@Repository:dao層
-
-
作用域
@Controller("user") @Scope("prototype") public class User { @Value("zhangsan") public String name; }
-
小結
-
XML可以適用任何場景 ,結構清晰,維護方便
-
註解不是自己提供的類使用不了,開發簡單方便
-
xml與註解整合開發 :
-
xml管理Bean
-
註解完成屬性注入
-
-
-
基於Java類進行配置
- 實體類
//這裡這個註解的意思,就是說明這個類被Spring接管了。註解到了容器中 @Component public class User { @Value("小明") public String name; public String getName() { return name; } public void setName(String name) { this.name=name; } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }
- 將配置檔案改為java配置類
//這個也被Spring容器託管,註冊到容器裡,因為他本來就是一個@Component, // @Component代表這是一個配置類,就和我們之前看的beans.xml是一樣的 @Configuration @ComponentScan("com.test.pojo") @Import(MyConfig2.class)//將另一個配置類匯入 public class Appconfig_01 { //註冊一個bean,就相當於我們之前寫的一個bean標籤, //這個方法的名字就相當於bean標籤的id屬性 //這個方法的返回值,就相當於bean標籤中的class屬性 @Bean public User getUser(){ return new User(); } }
- 測試類
public class Mytest { public static void main(String[] args) { // 如果完全使用了配置類的方式去做,我們就只能透過AnnotationConfig 上下文來獲取容器,透過配置類的class物件載入! AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Appconfig_01.class); User user = (User) context.getBean("getUser"); System.out.println(user.toString()); } }
spring註解開發
相關文章
- Spring 註解開發Spring
- Spring的註解開發Spring
- 【Spring註解驅動開發】聊聊Spring註解驅動開發那些事兒!Spring
- Spring註解開發_Spring容器建立概述Spring
- spring註解開發(一)Bean注入SpringBean
- Spring Boot開發(Gradle+註解)Spring BootGradle
- Spring-05 使用註解開發Spring
- Spring7——開發基於註解形式的springSpring
- 你的開發利器Spring自定義註解Spring
- Spring學習之05使用註解開發Spring
- 【Spring註解驅動開發】使用@Lazy註解實現懶載入Spring
- 【Spring註解驅動開發】使用@Scope註解設定元件的作用域Spring元件
- Spring第9天Aop簡介,Aopxml開發,Aop註解開發SpringXML
- 【Spring註解驅動開發】在@Import註解中使用ImportBeanDefinitionRegistrar向容器中註冊beanSpringImportBean
- 【Spring註解驅動開發】二狗子讓我給他講講@EnableAspectJAutoProxy註解Spring
- 【Spring註解驅動開發】在@Import註解中使用ImportSelector介面匯入beanSpringImportBean
- 【Spring註解開發】元件註冊-使用@Configuration和@Bean給容器中註冊元件Spring元件Bean
- 註解開發
- 淺嘗Spring註解開發_Servlet3.0與SpringMVCServletSpringMVC
- Spring註解Spring
- 【Spring註解驅動開發】自定義TypeFilter指定@ComponentScan註解的過濾規則SpringFilter
- 【Spring註解驅動開發】使用@Import註解給容器中快速匯入一個元件SpringImport元件
- Sping註解開發
- 使用註解開發
- 【Spring註解】事務註解@TransactionalSpring
- SPRING-spring註解整理Spring
- Spring boot註解Spring Boot
- Spring : @SessionAttributes註解SpringSession
- Spring新註解Spring
- Spring註解大全Spring
- Spring常用註解Spring
- 【Spring註解驅動開發】你還不會使用@Resource和@Inject註解?那你就out了!!Spring
- Springmvc全註解開發SpringMVC
- Spring Boot系列十八 Spring AOP + 註解實現統一註解Spring Boot
- Spring系列之新註解配置+Spring整合junit+註解注入Spring
- Spring IoC註解式開發無敵詳細(細節豐富)Spring
- Spring Boot入門(四):開發Web Api介面常用註解總結Spring BootWebAPI
- Spring 註解程式設計之模式註解Spring程式設計模式