springboot的java配置方式(實(shí)例講解)
1.創(chuàng)建User實(shí)體類。
@Data public class User { private String username; private String password; private Integer age; }
2.創(chuàng)建UserDao用于模擬數(shù)據(jù)庫(kù)交互。
public class UserDao{ public List<User> queryUserList() { List<User> result = new ArrayList<User>(); //模擬數(shù)據(jù)庫(kù)查詢 for(int i = 1;i < 10; i++) { User user = new User(); user.setUsername("username_" + i); user.setPassword("password" + i); user.setAge(i); result.add(user); } return result; } }
3.編寫UserService用于實(shí)現(xiàn)User數(shù)據(jù)操作業(yè)務(wù)邏輯。
@service public class UserService{ @Autowired//注入Spring容器中的bean對(duì)象 private UserDao userDao; public List<User> queryUserList() { //調(diào)用userDao中的方法進(jìn)行查詢。 return this.userDao.queryUserList(); } }
4.編寫SpringConfig用于實(shí)例化Spring容器。
@Configuration//通過(guò)該注解來(lái)表明該類是一個(gè)spring的配置,相當(dāng)于一個(gè)xml文件。 //配置掃描包。 @ComponentScan(basePackages = "cn.my.springboot.javaconfig") public class SpringConfig { @Bean//通過(guò)該注解來(lái)表明是一個(gè)Bean對(duì)象,相當(dāng)于xml中的<bean> public UserDao getUserDao() { return new UserDao();//直接new對(duì)象作演示。 } }
5.編寫測(cè)試方法用于啟動(dòng)Spring容器。
public class Test { 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.getAge()); //銷毀該容器 context.destroy; } } }
測(cè)試結(jié)果:
可以使用java代碼完美的替代XML配置文件。
至于結(jié)構(gòu)請(qǐng)不清晰就是仁者見(jiàn)仁智者見(jiàn)智。
以上這篇springboot的java配置方式(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 反射和動(dòng)態(tài)代理詳解及實(shí)例代碼
這篇文章主要介紹了java 反射和動(dòng)態(tài)代理詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09Java管道流實(shí)現(xiàn)線程間通信過(guò)程解析
這篇文章主要介紹了Java管道流實(shí)現(xiàn)線程間通信過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Spring?EnableAsync注解異步執(zhí)行源碼解析
這篇文章主要為大家介紹了Spring?EnableAsync注解源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11SpringBoot整合WebSocket實(shí)現(xiàn)后端向前端發(fā)送消息的實(shí)例代碼
WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合WebSocket實(shí)現(xiàn)后端向前端發(fā)送消息的相關(guān)資料,需要的朋友可以參考下2023-03-03springboot使用TaskScheduler實(shí)現(xiàn)動(dòng)態(tài)增刪啟停定時(shí)任務(wù)方式
這篇文章主要介紹了springboot使用TaskScheduler實(shí)現(xiàn)動(dòng)態(tài)增刪啟停定時(shí)任務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08