SpringBoot_02 Spring的Java配置方式
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot_02 Spring的Java配置方式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.?? Spring的Java配置方式
Java配置是Spring4.x推薦的配置方式,可以完全替代xml配置。
1.1. @Configuration 和 @Bean
Spring的Java配置方式是通過(guò) @Configuration 和 @Bean 這兩個(gè)注解實(shí)現(xiàn)的:
1、@Configuration 作用于類上,相當(dāng)于一個(gè)xml配置文件;
2、@Bean 作用于方法上,相當(dāng)于xml配置中的<bean>;
1.2. 示例
該示例演示了通過(guò)Java配置的方式進(jìn)行配置Spring,并且實(shí)現(xiàn)了Spring IOC功能。
1.2.1.?? 創(chuàng)建工程以及導(dǎo)入依賴
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.itcast.springboot</groupId><artifactId>itcast-springboot</artifactId><version>1.0.0-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.7.RELEASE</version></dependency><!-- 連接池 --><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId><version>0.8.0.RELEASE</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><!-- 資源文件拷貝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java編譯插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build> </project>Step1:
?
1.2.2.?? 編寫(xiě)User對(duì)象
public class User {private String username;private String password;private Integer age;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}Step2:
?
?
?
1.2.3.?? 編寫(xiě)UserDAO 用于模擬與數(shù)據(jù)庫(kù)的交互
public class UserDAO {public List<User> queryUserList(){List<User> result = new ArrayList<User>();// 模擬數(shù)據(jù)庫(kù)的查詢for (int i = 0; i < 10; i++) {User user = new User();user.setUsername("username_" + i);user.setPassword("password_" + i);user.setAge(i + 1);result.add(user);}return result;}}
1.2.4.?? 編寫(xiě)UserService 用于實(shí)現(xiàn)User數(shù)據(jù)操作業(yè)務(wù)邏輯
@Servicepublic class UserService {@Autowired // 注入Spring容器中的bean對(duì)象private UserDAO userDAO;public List<User> queryUserList() {// 調(diào)用userDAO中的方法進(jìn)行查詢r(jià)eturn this.userDAO.queryUserList();}}
1.2.5.?? 編寫(xiě)SpringConfig 用于實(shí)例化Spring容器
@Configuration //通過(guò)該注解來(lái)表明該類是一個(gè)Spring的配置,相當(dāng)于一個(gè)xml文件@ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置掃描包public class SpringConfig {@Bean // 通過(guò)該注解來(lái)表明是一個(gè)Bean對(duì)象,相當(dāng)于xml中的<bean>public UserDAO getUserDAO(){return new UserDAO(); // 直接new對(duì)象做演示}}
1.2.6.?? 編寫(xiě)測(cè)試方法 用于啟動(dòng)Spring容器
public class Main {public static void main(String[] args) {// 通過(guò)Java配置來(lái)實(shí)例化Spring容器AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);// 在Spring容器中獲取Bean對(duì)象UserService userService = context.getBean(UserService.class);// 調(diào)用對(duì)象中的方法List<User> list = userService.queryUserList();for (User user : list) {System.out.println(user.getUsername() + ", " + user.getPassword() + ", " + user.getPassword());}// 銷毀該容器context.destroy();}}
1.2.7.?? 測(cè)試效果
?
1.2.8.?? 小結(jié)
從以上的示例中可以看出,使用Java代碼就完美的替代xml配置文件,并且結(jié)構(gòu)更加的清晰。
轉(zhuǎn)載于:https://www.cnblogs.com/HiJackykun/p/10878786.html
總結(jié)
以上是生活随笔為你收集整理的SpringBoot_02 Spring的Java配置方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: springboot整合elasticJ
- 下一篇: 茶觉 | “治愈”的白牡丹